public String execute() throws Exception {
return "hello";
}
//log方法,Action调用的method方法
public String log()throws Exception{
System.out.println("log");
return "hello";
}
//校验方法
public void validate() {
System.out.println("validate");
}
//log method的校验方法
public void validateLog(){
System.out.println("validatelog");
//age值必须在10-30之间
if(age<10||age>30)
{
addFieldError("age", "age must be from 10 to 30!");
}
}
struts.xml
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.action.LoginAction">
<!-- 返回hello.jsp -->
<result name="hello">/hello.jsp</result>
<!-- 校验出现问题,返回validationLogin.jsp -->
<result name="input">/validateLogin.jsp</result>
</action>
</package>
我的问题是action标签里面没有写method属性,为什么会执行log()方法呢?
我以为就直接执行execute()方法就完了
关于Struts2中action会自动执行自定义的方法吗?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- threenewbee 2017-03-31 16:17关注
log里面下断点,调试,在调用堆栈窗口里看,谁调用了它,是不是有拦截器
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报