java - 如何传输参数到重定向jsp,该参数可以访问到该jsp

标签 java spring spring-mvc

我有这个 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/

相关文章:

java - @Resource注入(inject)目标无效。仅允许设置方法 :

java - Spring MVC 注解总是需要 Response 对象

spring - Spring MVC 4.3.3 中的响应体编码

java.lang.ClassNotFoundException : org. springframework.web.context.ContextLoadListener

java - 在JSP中调用Spring bean方法

java - 如何将 TimerTask 与 lambda 一起使用?

java - Spring Boot 响应过滤器,用于在发送到客户端之前重构 Controller 响应

java - 如何在java中检索字符串的特定部分

java - 如何使用 IntelliJ 构建共享域模型的多个 mvc 项目

Java.lang.NoClassDefFoundError : org/apache/poi/ss/usermodel/Font 错误