jts*_*snr 5 java validation spring databinder bean-validation
关于将Web请求绑定到模型对象,我在使用Spring的DataBinder和ConversionService的使用和目的时遇到了一些困惑.出现这种情况是因为我最近尝试通过添加来使用JSR-303验证.
在此之前我用过:
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="mypackage.GlobalWebBindingInitializer" />
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这很好,因为我想要一个可供多个控制器使用的全局DataBinder.在GlobalWebBindingInitialzer类中实现以下几个:
binder.registerCustomEditor(MyClass.class, new PropertyEditorSupport(MyClass.class)
Run Code Online (Sandbox Code Playgroud)
但是我想使用@Valid注释并添加.这样做的副作用是上面的AnnotationMethodHandlerAdapter bean已经被定义为注释驱动的一部分,因此忽略了我的全局数据绑定器.
所以现在我创建了这个类:
public class MyClassConverter implements Converter<String, MyClass>
Run Code Online (Sandbox Code Playgroud)
我很迷惑.如果我想使用我应该使用转换服务而不是数据仓?
历史上,Spring 的数据绑定用于将数据转换为 javabean。它严重依赖 JavaBean PropertyEditors 来完成转换。
Spring 3.0 添加了对转换和格式化的新的和不同的支持。一些更改包括“core.convert”包和“format”包,根据文档“可以用作 PropertyEditors 的更简单替代品”。
现在,回答你的问题,是的,看起来你走在正确的轨道上。您可以继续使用其中任何一个,但长话短说,在许多情况下您应该能够使用转换器而不是数据绑定器。
有关如何添加验证的文档可在线获取。
| 归档时间: |
|
| 查看次数: |
3592 次 |
| 最近记录: |