对于methodName 和resultName的区别很迷惑,查了很多资料都不得其解
最后在API中找到答案
引用
(1)Marks a action method that if it's not validated by ValidationInterceptor then execute input method or input result.
Annotation usage: The InputConfig annotation can be applied at method level.
Annotation parameters:
Parameter Required Default Notes
methodName no (2)execute this method if specific
resultName no (3)return this result if methodName not specific
(1)当验证方法没有通过时,改变默认返回的input视图
(2) 执行指定的方法
(3)返回result 如果methodName 没有指定
废话少说 上代码
- public class StudentAction extends ActionSupport {
- @InputConfig(methodName="input2",resultName="resultTest")
- public String inputConfigTest2(){
- return INPUT;
- }
- public void validateInputConfigTest2(){
- addFieldError("ss", "main validateInputConfigTest2");
- //validate方法在遇到 addFieldError方法时会自动返回input视图
- }
- public String input2(){
- return "test";
- }
- }
- <span style="font-size: medium;">public class StudentAction extends ActionSupport {
- @InputConfig(methodName="input2",resultName="resultTest")
- public String inputConfigTest2(){
- return INPUT;
- }
- public void validateInputConfigTest2(){
- addFieldError("ss", "main validateInputConfigTest2");
- //validate方法在遇到 addFieldError方法时会自动返回input视图
- }
- public String input2(){
- return "test";
- }
- }
- </span>
@InputConfig(methodName="input2",resultName="resultTest") 的作用是改变默认返回的input视图 API中可查
resultName只有在methodName没写如@InputConfig(resultName="resultTest") 时才起做用
Jsp页面
- <%@taglib prefix="s" uri="/struts-tags" %>//导入struts2标签
- <body>
- <s:fielderror/>
- inputconfig test
- </body>
- <span style="font-size: medium;"><%@taglib prefix="s" uri="/struts-tags" %>//导入struts2标签
- <body>
- <s:fielderror/>
- inputconfig test
- </body>
- </span>
上述代码只写了少部分 请自己配置 Action 并测试
调用方法 如 http://localhost:8080/struts2test10/studentAction!inputConfigTest2