Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Localization 为不同的复合组件指定不同的错误消息_Localization_Jsf 2_Composite Component - Fatal编程技术网

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}

完美-我不知道每个组件都可以有一个消息包。谢谢