Localization 为不同的复合组件指定不同的错误消息
有没有一种方法可以为不同类型的复合组件提供所需的消息 我希望能够在一个消息包中说下面这样的话Localization 为不同的复合组件指定不同的错误消息,localization,jsf-2,composite-component,Localization,Jsf 2,Composite Component,有没有一种方法可以为不同类型的复合组件提供所需的消息 我希望能够在一个消息包中说下面这样的话 javax.faces.component.UIInput.REQUIRED=Please enter a value for {0} com.anon.sandbox.jsf.component.NameField.REQUIRED=ENTER A {} OR DIE com.anon.sandbox.jsf.component.EmailField.REQUIRED=You forgot to en
javax.faces.component.UIInput.REQUIRED=Please enter a value for {0}
com.anon.sandbox.jsf.component.NameField.REQUIRED=ENTER A {} OR DIE
com.anon.sandbox.jsf.component.EmailField.REQUIRED=You forgot to enter a {0} address
我可以通过为每种类型的输入字段实现自定义验证器来实现这一点,但考虑到我想要自定义的唯一行为是错误消息,这似乎有些过分。使用
requiredMessage
属性来指定它们
<h:inputText ... requiredMessage="#{cc.resourceBundleMap.requiredMessage}" />
对于您不知道的情况,{cc.resourceBundleMap}
引用特定于复合组件的资源包,该资源包由一个.properties
文件标识,该文件与同一文件夹中的复合组件具有相同的文件名
因此,假设您有一个复合组件文件
foo.xhtml
,那么您可以在foo.properties
(因此foo en.properties
,foo es.properties
)中指定驻留在同一文件夹中的本地化消息。这些本地化消息可以通过前面提到的#{cc.resourceBundleMap}
完美-我不知道每个组件都可以有一个消息包。谢谢