小弟最近在学习Spring MVC,发现将所有的JSP页面放到同一个路径之下的话,页面会非常的多,看起来非常不好,我现在想让不同模块的JSP页面放到不同的路径之下。我Spring MVC配置文件中对于页面配置如下:
[code="java"] <!-- 定义Spring MVC 的模板文件 -->
<!-- 支持JSTL -->
<!-- 模板的路径 -->
<!-- 模板文件的后缀-->
[/code]
我现在想让不通模块的JSP页面放到不通的路径之下,比如说用户管理模块的JSP页面放到[code="java"]WEB-INF/pages/user/[/code],项目管理模块的JSP页面放到[code="java"]WEB-INF/pages/project/[/code]下。
我的Controller中的方法是这么写的:
[code="java"]
@SuppressWarnings("unchecked")
@RequestMapping(params="method=queryAllUser",method=RequestMethod.POST)
public String index(ModelMap map,HttpServletRequest request,HttpServletResponse response) {
// map是用来设置View层数据的
map.put("a1", "Spring真好用");
request.getSession().setAttribute("a2", "测试Session");
List<User> list2 = userService.getAllUser();
map.put("a3", list2);
return "user";
}
[/code]
请问各位大侠,怎么实现?????
[quote]能不能将某一个Controller的返回页面全部映射到某一个文件夹下,比如说 UserController 的页面全部返回到 WEB-INF/pages/user 下;ProjectController 的页面全部在 WEB-INF/pages/user 下?能不能通过简单的注解来进行配置一下?
[/quote]
目前不可以做到,如果可以的话,也许需要修改Spring代码,这似乎不是好的解决方案。你可以参考下将注解加在[color=red][b]类[/b][/color]上就可以了,
例如:
[code="java"]
@Controller
@RequestMapping(value = "/user")
public class UserController {
@RequestMapping(value = "/add")
public String add(){
// ...
return "user/add";
}
@RequestMapping(value = "/add")
public String del(){
// ...
return "user/del";
}
}
[/code]
假设你的文件夹下有以下文件:
WEB-INF/pages/user/user_add.jsp(添加用户)
WEB-INF/pages/user/user_del.jsp(删除用户)
那么,你在Controller下这样写就可以了:
[code="java"]
@SuppressWarnings("unchecked")
@RequestMapping(params="method=queryAllUser",method=RequestMethod.POST)
public String index(ModelMap map,HttpServletRequest request,HttpServletResponse response) {
// map是用来设置View层数据的
map.put("a1", "Spring真好用");
request.getSession().setAttribute("a2", "测试Session");
List<User> list2 = userService.getAllUser();
map.put("a3", list2);
return "user/user_add"; // 跳转指添加用户页面
// return "project/index";//假设存在WEB-INF/pages/project/index.jsp
}
[/code]
哈,就这么简单!