从spring控制器转发到jsp文件

时间:2012-01-13 19:29:07

标签: java ajax jsp spring-mvc

我正在尝试将我的请求从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”。

你能告诉我一个如何达到目的的示例代码吗?

具体来说,我需要知道:

  1. 控制器方法返回类型应该是什么?

  2. 控制器方法实际返回值应该是什么(如果重要)?

  3. 如何在request.getRequestDispatcher(...)中设置jsp文件路径,以便识别?

1 个答案:

答案 0 :(得分:3)

在这里查看控制器示例: http://maestric.com/doc/java/spring/mvc

它有点过时,但你必须做的概念仍然是一样的。 Spring 3有基于注释的方法来完成该示例中的许多内容。