问题
在原始的servlet和jstl开发中,首先直接请求页面
http://localhost/admin/userManagement.jsp
在userManagement.jsp页面中用
<jsp:include page="/studentManagement.do"></jsp:include>
@WebServlet(name = "UserManagementServlet", urlPatterns = "/userManagement.do")
public class UserManagementServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDAO userDAO = new UserDAO();
User[] users = userDAO.query();
request.setAttribute("users", users);
}
进行初始化jsp页面的数据.
但是在springmvc中会出现Circular view path 异常
相关代码
Jsp的
<jsp:include page="/user.do/findAll"></jsp:include>
..其他略..
Controller的
@Controller
@RequestMapping("user.do")
public class UserController {
@Resource(name = "userBizImpl")
private UserBiz userBiz;
@RequestMapping("findAll")
public String findAll(ModelMap modelMap) {
modelMap.addAttribute("userList", userBiz.findAll());
return "system/userinfo/user";
}
WEB-INF
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
报错信息
HTTP Status 500 - javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.servlet.ServletException: Circular view path [/view/system/userinfo/user.jsp]: would dispatch back to the current handler URL [/view/system/userinfo/user.jsp] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
尝试的方法:
1.在其他jsp页面对user.jsp的直接请求换成对servlet的请求user.do/findAll.但是感觉这样做页面代码写的好混乱,希望能给一些建议
我自己后面把jsp的初始化改为,访问jsp前先跳转到controller初始化后再跳转jsp了,而方法的命名改为xxxx.view
不知道是否可以理解为spring mvc直接访问某页面,然后进行页面的初始化,如果是的话可以在页面加载的时候使用jquery ajax请求数据然后进行页面填充。