我正在關注的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 –