2013-03-12 88 views
1

我正在使用struts2 + convention + rest來構建我的Web項目。內容文件夾中有許多jsp文件。所以我想通過文件夾對它們進行分類。例如,我想將user.jsp,user-list.jspuser-edit.jsp放在\content\user文件夾中。而且我必須補充Namespace註解UserController,如下:如何更改struts-rest-pulgin的默認映射規則

@Namespace("/user") 
public class UserController 

但如果我這樣做,URL訪問user.jsp變化localhost:8080\projectName\user\user。我不喜歡這麼多user int的網址。

所以我的問題是,我可以更改默認映射規則訪問user.jsplocalhost:8080\projectName\user?如果我無法更改它,那麼如何在\WEB-INF\content文件夾中管理如此多的jsp文件?

任何幫助將不勝感激。

+1

什麼是用戶控制器?爲什麼不使用父包註釋? – Quaternion 2013-03-12 22:20:10

+0

感謝@ Quaternion,我按照你的建議去查看convention-plugin中的註釋文檔,並找出'@ ResultPath'註解可以幫助我。 – 2013-03-13 06:10:09

+0

對不起,我沒有仔細閱讀,我假設你正在創建應用攔截器堆棧的\ user文件夾...我不使用剩餘的插件,只是約定,所以結構如下所示:/ user /list.jsp,/user/edit.jsp ...這是該文件夾使實體隱含。我可能有/user/list-error.jsp和/user/list-input.jsp。 – Quaternion 2013-03-13 17:32:41

回答

1

我發現@ResultPath註釋可以解決我的問題。因此變得代碼如下:

@ResultPath("/WEB-INF/content/user") 
public class UserController 

通過這樣做,我可以通過URL訪問localhost:8080/projectName/user文件WEB-INF/content/user/user.jsp

我仍然想知道是否有任何方法在單個位置將默認結果路徑更改爲/WEB-INF/content/{controllerNamePrefix}的方式,而不是爲每個控制器類添加註釋。