我正在尝试将我的请求从Spring-MVC控制器方法转发到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”在tile配置文件中定义,以指向实际的jsp文件。当我运行以下方法时:
public String ajaxResponse(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("command", "hello world");
return "jspfile";
}
...我将文件的内容作为我的Ajax响应 - 但该文件中的JSP标记未被解析 - 因此我得出结论我的tile定义是正确的(???)。
我的JSP文件如下所示:
<%=command%>
所以我想把我的Ajax响应作为字符串“hello world”。
你能告诉我一个如何达到目的的示例代码吗?
具体来说,我需要知道:
控制器方法返回类型应该是什么?
控制器方法实际返回值应该是什么(如果重要)?
如何在request.getRequestDispatcher(...)
中设置jsp文件路径,以便识别?
答案 0 :(得分:3)
在这里查看控制器示例: http://maestric.com/doc/java/spring/mvc
它有点过时,但你必须做的概念仍然是一样的。 Spring 3有基于注释的方法来完成该示例中的许多内容。