2013-03-12 87 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}的方式,而不是为每个控制器类添加注释。