Struts2的Action中自定义方法的输入校验
# 自定义方法的输入校验
对于通过
action
的method
属性所指定的自定义方法myExecute
,其对应的自定义输入校验方法名为validateMyExecute
。 (底层是通过反射调用的)public void validateMyExecute() { System.out.println("validateMyExecute invoked"); this.addActionError("action error"); } public String myExecute() throws Exception { System.out.println("myExecute invoked"); return SUCCESS; }
1
2
3
4
5
6
7
8
9
10校验方法的执行顺序
当在
Action
中指定了自定义的execute
方法时,首先会执行自定义的execute
方法所对应的输入校验方法,然后再去执行validate
方法,执行完毕之后如果出现了任何错误都不会再去执行自定义的execute
方法,流程转向了input
这个名字所对应的页面上。public void validateMyExecute() { System.out.println("validateMyExecute invoked"); this.addActionError("action error"); } @Override public void validate() { System.out.println("validate invoked"); // this.addActionError("action error"); } @Override public String execute() throws Exception { return SUCCESS; } public String myExecute() throws Exception { System.out.println("myExecute invoked"); return SUCCESS; } // validateMyExecute invoked // validate invoked
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24效果
# 自定义 Field 级别的校验信息
在 Action 的同级目录新建一个属性文件,例如:RegisterAction.properties
invalid.fieldvalue.birthday=age invalid custom msg
invalid.fieldvalue.graduation=graduation invalid custom msg
1
2
2
结果如下:
总结:
新建一个以
Action
名命名的 properties 文件,如:RegisterAction.properties
然后在该属性文件中指定每一个出错字段的错误消息,格式:
invalid.fieldvalue.borthday=birthday invalid custom msg
1
编辑 (opens new window)
上次更新: 2023/02/22, 13:47:25
- 01
- 解决css部分border被圆角切掉之后圆角的边框消失问题03-18
- 02
- 使用TypeScript开发一个自定义的Node-js前端开发脚手架03-08
- 03
- Github-Actions使用release-please实现自动发版03-06