我想从Spring-MVC控制器方法转发我的请求到JSP页面。从弹簧控制器转发到jsp文件
我的控制器方法应该处理Ajax请求。通过将请求转发到JSP文件,我想Ajax请求的响应是JSP文件的(动态)HTML 输出。
我曾尝试:
public ModelAndView ajaxResponse(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("command", "hello world");
request.getRequestDispatcher("jspfile").forward(request, response);
return null;
}
这失败,我得到“HTTP状态404”
“jspfiles”在瓷砖配置文件中被定义为指向的实际JSP文件。当我运行下面的方法:
public String ajaxResponse(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("command", "hello world");
return "jspfile";
}
...我得到的文件作为我的Ajax响应的内容 - 但该文件JSP标签不解析) - 因此我的结论是我的地砖的定义是正确的( ???)。
我的JSP文件看起来像这样:
<%=command%>
所以我想我的Ajax响应的字符串 “Hello World”。
你能告诉我如何实现我的目的的示例代码?
具体来说,我需要知道:
应该是什么控制器方法返回类型?
应该是什么控制器方法实际的返回值(如果它的事项)?
我应该如何设置在
request.getRequestDispatcher(...)
JSP文件路径,以便将认识?
你的第二个控制器看起来是正确的我 - 如果你浏览到调用该方法,而不是做它一个Ajax请求的URL会发生什么? JSP是否正确显示? – jeff 2012-01-13 19:51:05