我正在尝试将我的请求从 Spring-MVC Controller 方法转发到 JSP 页面。
我的 Controller 方法应该处理 Ajax 请求。通过将请求转发到 JSP 文件,我希望对 Ajax 请求的响应是(动态)HTML JSP 文件的输出。
我尝试过的:
public ModelAndView ajaxResponse(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("command", "hello world");
request.getRequestDispatcher("jspfile").forward(request, response);
return null;
}
这失败了,我得到“HTTP Status 404”
“jspfiles”在 tile 配置文件中定义,指向实际的 jsp 文件。当我运行以下方法时:
public String ajaxResponse(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("command", "hello world");
return "jspfile";
}
...我将文件的内容作为我的 Ajax 响应 - 但该文件中的 JSP 标记未被解析) - 因此我得出结论,我的 tiles 定义是正确的 (???)。
我的 JSP 文件如下所示:
<%=command%>
所以我想获得字符串“hello world”作为我的 Ajax 响应。
你能告诉我如何实现我的目的的示例代码吗?
我特别需要知道:
Controller 方法的返回类型应该是什么?
Controller 方法的实际返回值应该是什么(如果重要的话)?
我应该如何在
request.getRequestDispatcher(...)
中设置 jsp 文件路径以便识别它?
最佳答案
在这里查看 Controller 示例: http://maestric.com/doc/java/spring/mvc
它有点过时了,但是您必须执行的操作的概念保持不变。 Spring 3 具有基于注解的方法来执行该示例中的许多操作。
关于java - 从 spring Controller 转发到 jsp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8856124/