我正在关注的Struts 2 Hello World Annotation Example教程由Mkyong:@Result在类级别和方法级别
@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;
}
}
访问http://localhost:8080/project_name/User/welcome
工作正常的URL。
现在,我试图从一流水平的@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
is not found.
我的JSP是下
/WebContent/User/pages
这究竟是为什么?
在你的配置中为'struts.enable.SlashesInActionNames'设置了什么?只需删除操作名称中的斜杠即可 - >'@Action(value =“welcome”'。 –
用这个解决方案回答这个问题@AleksandrM –