当前位置: 首页 > news >正文

网站开发方案及报价软件外包公司

网站开发方案及报价,软件外包公司,相城网页设计报价,网站建设技术百科jsr303 自定义消息总览 本文将说明如何适应JSR 303验证API来从I18n属性文件加载消息#xff0c;并通过保留国际化的所有好处和对多种语言的支持来实现这一点。 为此#xff0c;我们将实现一个基于Spring API的自定义MessageInterpolator#xff0c;用于管理I18N消息。 依存… jsr303 自定义消息 总览 本文将说明如何适应JSR 303验证API来从I18n属性文件加载消息并通过保留国际化的所有好处和对多种语言的支持来实现这一点。 为此我们将实现一个基于Spring API的自定义MessageInterpolator用于管理I18N消息。 依存关系 在进行这项工作所需的maven依赖项下方此处未列出Javax验证和Hibernate验证 dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.springframework.webflow/groupIdartifactIdspring-binding/artifactIdversion2.3.2.RELEASE/version/dependency /dependenciesMessageSource的配置 第一步是MessageSource bean的配置它负责扫描和索引属性文件的内容。 bean idmessageSource classorg.springframework.context.support.ResourceBundleMessageSourceproperty namedefaultEncoding valueUTF-8/property namebasenameslistvaluecom.myproject.i18n.MyMessages/valuevaluecom.myproject.i18n.ErrorMessages/value/list/property/bean MyMessages和ErrorMessages是我们要扫描的属性文件文件名支持多种语言的约定。 例如如果我们的应用程序必须支持英语和法语那么我们应该具有MyMessages_en.properties和MyMessages_fr.properties。 自定义MessageInterpolator 在此自定义MessageInterpolator中我们重新定义了JSR 303解析要显示的消息的方式我们提供了一个自定义实现该实现使用Spring MessagesSource和MessageBuild来搜索并准备要显示的消息。 import java.util.Locale;import javax.validation.MessageInterpolator;import org.springframework.binding.message.MessageBuilder; import org.springframework.context.MessageSource;public class SpringMessageInterpolator implements MessageInterpolator {Autowiredprivate MessageSource messageSource, Overridepublic String interpolate(String messageTemplate, Context context) {String[] params (String[]) context.getConstraintDescriptor().getAttributes().get(params);MessageBuilder builder new MessageBuilder().code(messageTemplate);if (params ! null) {for (String param : params) {builder builder.arg(param);}}return builder.build().resolveMessage(messageSource, Locale.FRANCE).getText();}Overridepublic String interpolate(String messageTemplate, Context context, Locale locale) {String[] params (String[]) context.getConstraintDescriptor().getAttributes().get(params);MessageBuilder builder new MessageBuilder().code(messageTemplate);if (params ! null) {builder builder.args(params);}return builder.build().resolveMessage(messageSource, local).getText();} }在自定义JSR 303上的用法 假设我们创建了一个新的JSR 303验证批注validate将检查字段是否为空。 要使用定制的Spring消息插值器我们需要在Spring Message源加载的属性文件之一上声明一条消息让我们在ErrorMessages.properties上声明 {com.myproject.validation.NotBlank} Mandatory field 最佳做法是将消息的键命名为我们的验证批注的完整类名您可以随意选择任何键名但必须在方括号{}之间才能使用。 我们的自定义注释将如下所示 Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Constraint(validatedBy NotBlankValidator.class) public interface NotBlank {String message() default {com.myproject.validation.NotBlank;Class?[] groups() default {};String[] params() default {};Class? extends Payload[] payload() default {}; } 请确认message属性的默认值与您放入属性文件的默认值相同。 就是这样现在您可以像平常一样使用批注并且如果不提供硬编码消息则在属性文件中声明该消息后它将从属性文件中加载。 翻译自: https://www.javacodegeeks.com/2014/07/jsr-303-loading-messages-from-an-i18n-property-file.htmljsr303 自定义消息
http://wiki.neutronadmin.com/news/135662/

相关文章:

  • 网站建设的经费估算seo关键词优化到首页
  • 东营网站建设那家好网站内容不显示
  • 番禺怎样优化网站建设4s店网站模板
  • 如何建设网站电影网站如何建设
  • 二百块做网站wordpress如何添加关键词
  • 泗水做网站长春网站建设专业公司
  • 机械加工网站大全网站开发类论文
  • 网站项目开发建设合同长沙网
  • 备案网站可以做接码平台么域名和空间都有了怎么做网站
  • 南通优化网站公司哪家好oshin wordpress
  • erp .net网站开发厦门做网站的公司
  • 企业网站建设合同(一)广告设计网址
  • 公司网站建设需要咨询什么问题彩票网站开发制作模版
  • 新开传奇网站3000ok上海城乡建设学校网站
  • 网站seo外链怎么做wordpress防止假蜘蛛抓取
  • 企业邮箱认证长春纯手工seo
  • 地质公园网站建设排名优化哪家好
  • 网站出现 503怎么了装修公司怎么做网站推广
  • 网站建设 文件源代码约定搜索大全引擎入口
  • 网站建设开发价格高吗wordpress 产品页 如何关联
  • 建站之星演示网站模版 百度云
  • 个人网站托管页面设计平台
  • 原创网站模版什么是网络设计图
  • 手机网站首页怎么做网站开发的招标参数
  • 国内 响应式网站网站在百度的标头不对
  • 铁路项目建设 网站wordpress 导航栏登录
  • 没有备案的网站百度不收录商业网页设计培训
  • 找培训机构的网站百度公司官方网站
  • 成品网站w灬源码伊甸3m8uui设计培训学费多少
  • 南京哪个网站建设比较好东莞关键词优化效果