spring - 带有 Spring 表单的 Tomcat 404 页面

标签 spring jakarta-ee tomcat spring-mvc http-status-code-404

在我的 web.xml 页面中,我将 404 错误映射到 jsp 页面:

<error-page>
  <error-code>404</error-code>
  <location>/WEB-INF/jsp/errorPages/error404.jsp</location>
</error-page>

404 上的重定向工作正常。我得到 error404.jsp。问题是我在页面上有一个 spring 表单(每个页面上都有一个搜索表单),这会导致错误,因为目标对象不在模型中。我得到以下异常:

Caused by: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'searchCriteria' available as request attribute

我想在每个页面上都有这个搜索表单,包括错误页面。有什么办法吗?我意识到我在上面配置的 404 不会转到 servlet ......那么我如何将请求属性放入模型中?

最佳答案

一种解决方案是在您的 JSP/模板中将搜索表单编码为纯 HTML,这样您就可以删除对表单绑定(bind)对象的任何依赖。对于带有文本输入和提交按钮的简单搜索表单,这应该不是问题。

关于spring - 带有 Spring 表单的 Tomcat 404 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8873275/

相关文章:

java - Spring Framework 在带有 Windows 驱动器号的路径上失败

java - Tomcat 9 无法登录 manager/html

testing - 如果不支持注释,我如何将 jUnit 与 J2EE 1.4 一起使用?

java - Maven 在目标文件夹中解压 war

java - 无法使用 <jsp :useBean>: "Bean cannot be resolved to a type"

java - Spark异常: java. io.NotSerializedException : org. apache.spark.streaming.api.java.JavaStreamingContext

hibernate - init 方法调用失败;嵌套异常是 java.lang.IncompatibleClassChangeError : Implementing class

Spring Boot 不支持 @WebServlet

java - 10 个客户端请求一个 Servlet。创建了多少个 Servlet 实例

tomcat - 如何将 DNS 映射到 IP 地址?