我有这个 Controller 的方法:
@RequestMapping(value="/path", method = RequestMethod.GET )
public String path(Model model, RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("attr", "valueFromPath");
return "redirect:jspPage.jsp";//this page located in webApp folder
}
jspPage.jsp:
...
<h1>${attr}</h1>
...
在我的例子中,这一行是空的,但我希望 valueFromPath
将显示在此 jsp 上。
我怎样才能做到?
web.xml:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
...
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
最佳答案
我将在这里做出一个假设。由于您的 URL 映射
<url-pattern>/*</url-pattern>
DispatcherServlet
未处理 jspPage.jsp
的请求。该工作落在 default Servlet
。因此,DispatcherServlet
无法执行将 flash 属性从 HttpSession
属性添加回请求属性的逻辑。
您需要确保对 jspPage.jsp
的请求由 DispatcherServlet
处理。通过将文件移动到其他位置或将 url-pattern
更改为 /
并提供处理程序。
关于java - 如何传输参数到重定向jsp,该参数可以访问到该jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19257603/