在spring boot中实现自定义错误

     2023-02-26     102

关键词:

【中文标题】在spring boot中实现自定义错误【英文标题】:Implement the custom error in spring boot 【发布时间】:2019-04-07 02:58:26 【问题描述】:

我想页面。在应用程序中,id 是主键,所以当没有给出 id 时,它会将请求传输到页面,但我希望应用程序在索引页面上显示带有错误消息的索引页面。实体类是

@Entity
public class Employee  
    @Id
    //@GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
    public int getId() 
        return id;
    
    public void setId(int id) 
        this.id = id;
    
    public String getName() 
        return name;
    
    //@Id
    public void setName(String name) 
        this.name = name;
    
    public String getPhone() 
        return phone;
    
    public void setPhone(String phone) 
        this.phone = phone;
    


    private String name;
    private String phone;

索引页是

<!DOCTYPE html>
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>index page</title>
</head>
<body>
<form action="#" th:action="@/result" th:object="$employee" method="post">
    <p>Id: <input type="text" th:field="*id" /></p>
    <p>name: <input type="text" th:field="*name" /></p>
    <p>phone: <input type="text" th:field="*phone" /></p>
    <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>


</body>
</html>

我想在索引页面上显示错误,例如 id 字段更改颜色或在 id 列旁边有一条消息。

【问题讨论】:

似乎这与 Spring Boot 无关,而仅与前端表单验证有关。对吗? Spring Boot and custom 404 error page的可能重复 【参考方案1】:

我建议像这个例子一样开发一个 customError 控制器: 并影响你的错误html页面(你可以用不同的方式)

@Controller
public class CustomErrorController implements  ErrorController

private static final String PATH = "/error";
private static final org.slf4j.Logger log = 
LoggerFactory.getLogger(CustomErrorController.class);
 String script_error_page = "<html lang='en' app='HubMonitor'><head><meta 
   charset='UTF-8'><meta name='viewport' content='width=device-width, initial- 
  scale=1'><title>Hub Monitor</title><head>......your html code ....</head></html>";

@RequestMapping("/error")
@ResponseBody
public String handleError(HttpServletRequest request) 

    return script_error_page;

你可以在你的基本控制器中添加测试条件,这意味着当你想要被重定向到错误内容时。

【讨论】:

【参考方案2】:

您可以通过 javascript/jQuery 来完成此操作,只需编写一个小函数来监听页面的 DOM。 因此,单击提交时,您可以显示错误消息、显示模式或重定向到另一个通用错误页面。

如果你想让服务器做这个控制,spring 提供了很棒的 api 用于验证,在 google 上搜索 BindingResult Spring。

它背后的想法很简单。您的控制器将从表单中获取一个对象,您可以通过在其上使用一些注释来验证它。

我找到了这个例子:https://www.journaldev.com/2668/spring-validation-example-mvc-validator

希望对你有帮助

【讨论】:

在 Spring Security 2.06 中实现自定义 AuthenticationProvider

】在SpringSecurity2.06中实现自定义AuthenticationProvider【英文标题】:ImplementcustomAuthenticationProviderinSpringSecurity2.06【发布时间】:2012-01-2819:21:20【问题描述】:我正在使用SpringSecurity来保护Struts2Web应用程序。由于项目限制,我使用的... 查看详情

在 Symfony 4.4 中实现自定义错误控制器

】在Symfony4.4中实现自定义错误控制器【英文标题】:ImplementacustomerrorcontrollerinSymfony4.4【发布时间】:2021-01-2206:34:01【问题描述】:我做了什么:我创建了这个自定义控制器,因为我想向错误页面传递一些额外的变量。#Controller/C... 查看详情

如何在 keras 中实现自定义指标?

】如何在keras中实现自定义指标?【英文标题】:howtoimplementcustommetricinkeras?【发布时间】:2016-10-0601:13:54【问题描述】:我得到这个错误:sum()得到了一个意外的关键字参数\'out\'当我运行这段代码时:importpandasaspd,numpyasnpimportkera... 查看详情

在 Django 中实现自定义模板标签时遇到问题

】在Django中实现自定义模板标签时遇到问题【英文标题】:HavingtroubleimplementingcustomtemplatetagsinDjango【发布时间】:2012-04-0101:23:15【问题描述】:我正在尝试在我的应用程序中实现一些自定义模板标签,并更好地构建它。烦人的部... 查看详情

在 MembershipProvider 中实现自定义“ValidateUser”

】在MembershipProvider中实现自定义“ValidateUser”【英文标题】:Implementcustom"ValidateUser"inMembershipProvider【发布时间】:2011-03-2510:32:38【问题描述】:我正在实现一个自定义MembershipProvider,我正在尝试使用ValidateUser方法来验证... 查看详情

如何在 iPhone 中实现自定义相机功能? [关闭]

】如何在iPhone中实现自定义相机功能?[关闭]【英文标题】:HowtoimplementcustomcamerafunctionalityiniPhone?[closed]【发布时间】:2011-08-1605:07:13【问题描述】:我想开发一种功能,以便在iPhone应用程序中实现自定义相机功能,所以请给我... 查看详情

在具有条件的 keras 中实现自定义损失函数

】在具有条件的keras中实现自定义损失函数【英文标题】:Implementingcustomlossfunctioninkeraswithcondition【发布时间】:2018-12-0813:49:59【问题描述】:我需要一些有关keras损失函数的帮助。我一直在使用Tensorflow后端在keras上实现自定义损... 查看详情

在 Freemarker 中实现自定义 Escaper

】在Freemarker中实现自定义Escaper【英文标题】:ImplementaCustomEscaperinFreemarker【发布时间】:2010-11-0920:21:59【问题描述】:Freemarker可以使用以下方式进行文本转义:<#escapexasx?html>Foo:$someValBar:$someOtherVal</#escape>xml、xhtml和html... 查看详情

为啥不推荐使用 JScript 在 WiX 中实现自定义操作?

】为啥不推荐使用JScript在WiX中实现自定义操作?【英文标题】:WhyisusingJScriptforimplementingcustomactionsinWiXnotrecommended?为什么不推荐使用JScript在WiX中实现自定义操作?【发布时间】:2013-07-1008:19:33【问题描述】:在浏览有关WiX的文... 查看详情

如何在canvas中实现自定义路径动画(代码片段)

在最近的项目中笔者需要做一个新需求:在canvas中实现自定义的路径动画。这里所谓的自定义路径不单单包括一条直线,也许是多条直线的运动组合,甚至还包含了贝塞尔曲线,因此,这个动画也许是下面这个样子的:那么如何... 查看详情

在 kvm 中实现自定义超级调用

】在kvm中实现自定义超级调用【英文标题】:Implementingacustomhypercallinkvm【发布时间】:2016-02-0900:28:27【问题描述】:我对虚拟化非常陌生,最近我一直在尝试熟悉VMM的操作方式以及如何进行超级调用。谈到我打算在安装在我的Ubu... 查看详情

如何在黄瓜中实现自定义监听器?

】如何在黄瓜中实现自定义监听器?【英文标题】:Howtoimplementcustomlistenersincucumber?【发布时间】:2021-12-2214:55:47【问题描述】:如何在cucumber中实现客户监听?哪个可以记录到控制台/报告失败方法的发生?使用黄瓜4.0注意:钩... 查看详情

在 SDK 中实现自定义取消按钮

】在SDK中实现自定义取消按钮【英文标题】:ImplementcustomCancelButtoninaSDK【发布时间】:2015-11-0917:24:08【问题描述】:我想用paysbuySDK实现支付功能....问题是它没有任何cancel选项,以便用户可以在支付成功后取消关闭操作。默认情... 查看详情

如何在 TCPDF 中实现自定义字体

】如何在TCPDF中实现自定义字体【英文标题】:HowtoimplementcustomfontsinTCPDF【发布时间】:2011-07-1222:11:47【问题描述】:在TCPDF中,只有几种字体可供选择,用于创建pdf文件。我想将Tahoma设置为我的pdf字体。如何在TCPDF中包含Tahoma?... 查看详情

在 Android 中实现自定义 ListView

】在Android中实现自定义ListView【英文标题】:ImplementacustomListViewinAndroid【发布时间】:2016-10-2802:16:18【问题描述】:我在我的MainActivity中创建了一个listView,并为行布局创建了另一个布局文件,如下所示:问题是,我该如何实现... 查看详情

如何在 UIImagePicker 中实现自定义“使用”和“重拍”按钮?

】如何在UIImagePicker中实现自定义“使用”和“重拍”按钮?【英文标题】:Howtoimplementcustom\'Use\'and\'Retake\'buttoninUIImagePicker?【发布时间】:2011-03-2507:06:04【问题描述】:我的意思是,我已经关闭了相机控制器pickerCam.showsCameraContro... 查看详情

在 MVC 中实现自定义身份和 IPrincipal

】在MVC中实现自定义身份和IPrincipal【英文标题】:ImplementingaCustomIdentityandIPrincipalinMVC【发布时间】:2010-12-2510:29:21【问题描述】:我有一个基本的MVC2beta应用程序,我正在尝试实现自定义身份和主体类。我创建了实现IIdentity和IPr... 查看详情

如何在 Spring Boot 中禁用或覆盖 RequestCacheAwareFilter

】如何在SpringBoot中禁用或覆盖RequestCacheAwareFilter【英文标题】:HowtodisableoroverrideRequestCacheAwareFilterinSpringBoot【发布时间】:2016-02-0716:26:57【问题描述】:我有非常基本的简单SpringBootRest应用程序。我需要在SpringSecurity中实现自定... 查看详情