行业混子
2017-03-31 11:52
采纳率: 69.2%
浏览 1.3k
已采纳

关于Struts2中action会自动执行自定义的方法吗?

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()方法就完了
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2017-03-31 16:17
    已采纳

    log里面下断点,调试,在调用堆栈窗口里看,谁调用了它,是不是有拦截器

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题