当前位置: 首页 > 面试题库 >

如何在Spring-MVC中注册全局自定义编辑器?

夏侯宏旷
2023-03-14
问题内容

我根据以下条件在MANY Spring-MVC控制器中使用以下自定义编辑器:

控制器

binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));

其他控制器

binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));

另一个控制器

binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));

注意注册了相同的自定义编辑器

问题:如何设置像这样的全局自定义编辑器以避免设置每个控制器?


问题答案:

你需要在你的应用程序上下文中声明它:

<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
  <property name="customEditors"><map>
    <entry key="java.math.BigDecimal">
      <bean class="org.springframework.beans.propertyeditors.CustomNumberEditor">
      ... <!-- specify constructor-args here -->
      </bean>
    </entry>
  </map></property>
</bean>


 类似资料:
  • 我正在研究带有注释的Spring MVC。我还没有注册任何自定义日期编辑 在我的类中,我有一个类型为java.lang.Date的属性 我读到的是customDateEditor默认不注册。但是当我提交带有空白日期的表单时,它抛出了illegalArgumentException 如果我输入日期然后提交它不抛出异常 在那之后,我将绑定结果作为参数添加到控制器方法,现在它正在接受空白值 我没有向控制

  • 我有一个简单的MVC控制器,我用我的自定义注释对它进行了注释: 我的自定义注释与一个方面链接,当验证不成功时,该方面会抛出。 所以现在的行为是,当验证失败时,我被重定向到500错误页面。我的目标是留在同一个页面并将拒绝的消息添加到: 我还没有找到这样做的方法,我找到的唯一方法是更改所有逻辑,不使用注释,同时在控制器代码中使用带有try/catch的验证服务。 当方面抛出这个异常时,有什么方法可以处

  • 我是新来的Spring Boot。在我的控制器中,我使用s作为。缺省情况下,在传递无效的时,Spring返回。 当客户端传递一个无效的时,我想抛出一个自定义的,这样我就可以使用这个异常返回一个自定义的错误。 我试图注册一个定制的(实现)。 为了注册这个组件,我将这个转换器添加到springs。使用。 我还尝试使用而不是这里提到的:Spring没有使用mongo定制转换器 我尝试过的其他解决方案是:

  • 通常,您的设计包含类似对象的多个副本,例如徽标。如果需要对所有此类对象进行编辑,则无需逐个编辑对象。 有了 Illustrator 中的全局编辑选项,您可以在一步中全局编辑所有类似对象。 查找类似对象进行编辑 在开始编辑类似对象之前,您可以选择要编辑的对象。为此,您可以设置全局编辑选项以查找要一起编辑的对象。 要设置全局编辑选项,请执行以下操作之一: 单击“属性”面板中“启动全局编辑”按钮旁边的全

  • 问题内容: 调用我时出现以下错误: org.apache.jasper.JasperException:无法将字符串“ ”转换为属性“ att1”的类“ javax.servlet.jsp.tagext.JspFragment”:属性编辑器未向PropertyEditorManager (详细的堆栈跟踪无关紧要) 我正在使用J2EE 1.4服务器(即JSP 2.0) 我的 使用此标记的jsp :