有没有办法在JSF 2.0中无痛地本地化默认验证器消息?我知道关键是,我。例如,“javax.faces.component.UIInput.REQUIRED”,但是从我发现的所有内容来看,更改它们的唯一方法是在消息包中,并且它不像资源包那样是区域设置。我也没有找到任何方法来覆盖
的默认验证器required="true"
那么,有没有办法在没有编写使用所需资源包的自定义“必需”验证器的情况下正确地本地化这些消息?不是说它太多了,但我真的很喜欢
required="true"
而不是
<h:inputText ...
<f:validator ...
</h:inputText ...
仅仅是为了代码短缺等......问题是一般性的,关于默认消息,但是提到了所需的验证器作为示例。
JSF 2.0,GFv3.1,JEE6(Servlets 3.0,EL 2.2,EJB 3.1等,如果这对任何人都很重要)。
答案 0 :(得分:4)
您是如何得出结论他们不知道区域设置的?这绝对是语言环境。只需提供您自己的本地化消息副本,其中包含JSF 2.0 specification第2.5.2.4节中定义的密钥,并在<message-bundle>
的{{1}}中指定这些消息资源的基本名称。它们是由ResourceBundle
加载的,您只需遵守faces-config.xml
的相同捆绑文件命名约定,其中name_ll_CC.properties
是语言代码,ll
是(可选)国家/地区代码
顺便说一下,我刚刚再次查看它,Mojarra 2.0.3附带英文(默认),德语,西班牙语,法语,日语,韩语,葡萄牙语(巴西),中文和台语的内置消息包。您使用哪种语言,不能使用其中一个内置消息包?