【发布时间】:2016-02-07 09:51:47
【问题描述】:
我正在关注 Mkyong 的 Struts 2 Hello World Annotation Example 教程:
@Namespace("/User")
@ResultPath(value="/")
@Action(value="/welcome",
results={@Result(name="success", location="pages/welcome_user.jsp")})
public class WelcomeUserAction extends ActionSupport {
public String execute(){
return SUCCESS;
}
}
访问 URL http://localhost:8080/project_name/User/welcome 工作正常。
现在我正在尝试将 @Action(以及 @Result)注释从类级别移动到方法级别:
@Namespace("/User")
@ResultPath(value="/")
public class WelcomeUserAction extends ActionSupport {
@Action(value="/welcome",
results={@Result(name="success", location="pages/welcome_user.jsp")})
public String execute(){
return SUCCESS;
}
}
但是在这样做之后,我得到了 404 错误:
/project_name/pages/welcome_user.jsp未找到。
我的 JSP 在
/WebContent/User/pages
为什么会这样?
【问题讨论】:
-
您的配置中为
struts.enable.SlashesInActionNames设置了什么?只需从动作名称中删除前导斜杠,它就会起作用 ->@Action(value="welcome". -
用这个其他解决方案@AleksandrM回答问题
标签: java struts2 annotations struts-action struts2-convention-plugin