0

我有这个控制器的方法:

@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 上。

我怎么能做到?

网页.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>
4

1 回答 1

1

我在这里做一个假设。因为你的 URL 映射

<url-pattern>/*</url-pattern>

没有处理的DispatcherServlet请求jspPage.jsp。那个 jobs 落在了defaultServlet上。因此,DispatcherServlet不能执行将闪存属性从HttpSession属性添加回请求属性的逻辑。

您需要确保请求jspPage.jspDispatcherServlet. 通过将文件移动到其他位置或更改您url-pattern的位置/并提供处理程序。

于 2013-10-08T20:24:28.457 回答