PrimeFaces PickList按钮标签多语言自定义方法咨询
修改PrimeFaces 14 PickList按钮标签的方案
PrimeFaces 14移除了PickList的addLabel、addAllLabel等旧属性,要修改按钮标签,需通过覆盖PrimeFaces默认国际化资源包实现,具体步骤如下:
1. 确认默认消息键
PickList的按钮文本对应PrimeFaces内置资源包org.primefaces.component中的以下键:
picklist.moveToTarget:默认文本"Move to Target"picklist.moveAllToTarget:默认文本"Move all to Target"picklist.moveToSource:默认文本"Move to Source"picklist.moveAllToSource:默认文本"Move all to Source"
2. 创建自定义资源包
在项目类路径下创建多语言属性文件,覆盖上述键的文本:
- 英文资源文件(
messages.properties)示例:picklist.moveToTarget=Add to Target picklist.moveAllToTarget=Add All to Target picklist.moveToSource=Back to Source picklist.moveAllToSource=Back All to Source - 中文资源文件(
messages_zh_CN.properties)示例:
注:资源文件路径需对应后续配置的picklist.moveToTarget=添加到目标 picklist.moveAllToTarget=全部添加到目标 picklist.moveToSource=移回源列表 picklist.moveAllToSource=全部移回源列表base-name,比如放在src/main/resources/com/yourproject下,base-name就是com.yourproject.messages。
3. 配置资源包优先级
在faces-config.xml中添加配置,让自定义资源包优先于PrimeFaces默认包加载:
<application> <!-- 自定义资源包,放在前面以覆盖默认值 --> <resource-bundle> <base-name>com.yourproject.messages</base-name> <var>msg</var> </resource-bundle> <!-- 保留PrimeFaces默认资源包,保证其他组件消息正常 --> <resource-bundle> <base-name>org.primefaces.component</base-name> <var>primefaces</var> </resource-bundle> </application>
4. 验证效果
重启应用后,PickList的按钮文本会自动加载自定义资源包中的内容,根据当前语言环境切换对应多语言文本。
内容的提问来源于stack exchange,提问作者berger-devel
相关产品推荐
相关产品推荐

