首页 » 技术分享 » Spring MVC学习指南(5-7章总结)

Spring MVC学习指南(5-7章总结)

 

  • 列表内容

5:数据绑定和表单标签

数据绑定是指将用户输入绑定到领域模型(domain)。
表单标签库包含了 可以在JSP页面中渲染HTML元素的标签。 典型的有form、input、options等。

6:转换器和格式化

是不是有用户输入日期这种情况写才会用到转换器??????
Converter和Formatter都可以将一种对象类型转换为另一种对象类型。Converter是通用元件,可以在应用程序的任意层中使用。而Formatter则专门为web层设计(Formatter的原类型必须是String)。

6.1 Converter

创建一个Converter,必须编写一个实现了…..Converter接口的java类。为了使用刚刚定制的Converter实现类,必须在SpringMVC配置文件中配置一个bean,bean的名称必须是……….ConversionServiceFacyoryBean。这个bean必须包含一个converters属性,它要列出你所编写的所有自己定制的Converter。然后再在annotion-driven元素的conversion-servive属性中赋值为刚才配置文件中所配置bean的id。

6.2 Formatter

Formatter更适合于web层。为了创建Formatter,则要编写一个实现了………Formatter接口的java类。必须实现该接口的parse和print方法。后续的配置与6.1节大体类似,只是具体的bean的class属性要改成FormattingFactoryBean。
另外也可以用FormatterRegistrar来注册Formatter。java类需实现FormatterRegistrar接口。后续配置同上两节。

7:验证器(validator,作用于object级)

输入验证,可以利用Spring自带的验证框架,也可以利用JSR303实现(新项目建议使用JSR303,是正规的java规范)。
Converter和Formatter作用于field级,验证器则作用于object级。它可以判断某一个对象中的所有field是否都是有效的。当应用程序中既使用了Formatter,又使用了validator。调用顺序是:在调用controller期间,将会有一个或多个Formatter被调用,若格式化成功,验证器就会介入(比如验证日期是否正确等)。也就是说:Formatter只负责转换,validator则负责验证转化结果的正确性。

7.1 Spring自带的验证框架

为创建Spring验证器,需实现validator接口。接口包含两个方法。supports:如果验证器能处理指定class,则返回true。validate:验证对象,并将验证错误填入Errors对象。如何填入Errors对象?建议使用ValidationUtils类,它有许多方法来验证错误。
如何配置?其实不需显式注册,但是如果要想人性化提示错误信息,则可以声明一个messagebean,告诉Spring在哪里声明了这些错误的类型。
使用Spring验证器的另一个方法是,在Controller类中编写initBinder方法。将验证器传到WebDataBinder,并调用其validate方法。

7.2 JSR 303验证

在待验证类之前要import相应的jar包,如Size等,然后用@Size等进行标注。其他类中若将处理过的待验证类作为函数形参,则应该用@valid 进行标注。为了让错误信息得到人性化的显示,messages properties文件中应该用键值进行说明。

转载自原文链接, 如需删除请联系管理员。

原文链接:Spring MVC学习指南(5-7章总结),转载请注明来源!

0