java - <c :if test ='${empty Validated}' ><jsp:forward page ="/do/Index"/></c:if> not forwarding properly in Spring Boot

标签 java spring jsp struts-1

作为从 Struts 1.x 迁移到 Spring Boot 的一部分,我一直在努力正确转发应有的信息。

最初的 Struts 版本依赖于 web.xml,尽管我想将该项目转换为更新的、完全基于 Java 的解决方案,但其复杂性使得这有点令人畏惧,而且考虑到时间限制,这可能是不必要的。我还将 View 部分保留在原来的 JSP 中,尽管它已经有点过时了。

-我有一个初始的banner.jsp页面,一旦验证通过,它就会正确显示。

- 单击banner.jsp 页面上的“确定”按钮,然后尝试转发到index.jsp 页面(上面的代码所在的位置)。相应的日志产生(除其他外):

…DispatcherServlet - POST“/Employees/do/Index”的“FORWARD”调度,参数={masked} 没有 POST/Employees/do/Index 的映射 退出“FORWARD”调度,状态 404

(“Employees”是各种 jsp 页面所在的 uri 根)

-在原始 Struts 版本中,在命中 index.jsp 并传递一个已填充的 template.jsp 页面后显示。

404 似乎只是表明一个映射问题,但当我尝试了我能想到的每一个 uri 变体时,我认为问题的根源与 jsp 转发有关,而 Spring 不理解它的“do/Index”。在 Struts 中,这似乎是传递参数值的构造。

以下是一些相关代码的视觉效果:

横幅.jsp

<form name="bannerForm" method="post" >
            <input type="hidden" name="accepted" value="yes" />
            <input type="submit" value="Ok" />
</form>

index.jsp

<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test='${empty Validated}'><jsp:forward page="/do/Index" /></c:if>

您知道问题可能是什么,或者是否有等效或解决方法?

最佳答案

您可以尝试在application.properties中进行以下配置

spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp

你的WEB-INF应该位于src/main/webapp/文件夹中。完整路径将类似于src/master/vegcart/src/main/webapp/WEB-INF/jsp/(这是根据maven项目)

关于java - <c :if test ='${empty Validated}' ><jsp:forward page ="/do/Index"/></c:if> not forwarding properly in Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927277/

相关文章:

java - Hibernate Annotation下使用命名查询有什么好处

java - 如何在 JSP 中显示从 Hibernate 查询获得的列表

Java:如何自动测试从用户获取输入的控制台应用程序

java - 如何在抽象测试类中模拟 Autowiring 实例?

java - 实例化Java抽象类?

javascript - 动态添加Spring MVC JSP表单:input using JS giving binding errors

java - 从不同的文件夹注入(inject) bean

java - Spring 迁移到 5.0.0 替换已弃用的 WebMvcConfigurerAdapter 是错误的

java - 如何将信息从一个jsp页面传递到另一个jsp页面

javascript - 数据表行中的固定字符