您好我想要按钮本地化,例如:确定,在ADF中取消,
我正在使用以下代码
FacesContext fctx = FacesContext.getCurrentInstance(); fctx.addMessage(VALIDATIONERROR,new FacesMessage(FacesMessage.SEVERITY_ERROR,errorMessage,errorMessage)); fctx.renderResponse();
我得到pop并且错误消息已本地化,我的问题是如何本地化弹出窗口上的按钮,例如:OK,CANCEL
答案 0 :(得分:1)
我想你在谈论af:对话框组件。在这种情况下,我可以考虑两种方式:
af:dialog组件有两个属性:cancelTextAndAccessKey和affermativeTextAndAccessKey。他们可以使用一个EL,它可以将特定记录的密钥转换为.properties文件(作为资源包加载到项目中。例如:cancelTextAndAccessKey ="#{lang [' popUp。 dialog.button.cancel']}"(其中lang是我所声明的声明包的名称)
您可以通过创建ListResourceBundle(也应该将其作为资源包加载到faces-config.xml,Application选项卡中)来覆盖默认组件标签。
代码应该是这样的:
public class CTSResourceBundle扩展了ListResourceBundle {
public CTSResourceBundle() {
super();
}
@Override
protected Object[][] getContents() {
return new Object[][] {
{ "af_dialog.LABEL_YES", "Po" },
{ "af_dialog.LABEL_NO", "Jo" },
{ "af_dialog.LABEL_OK", "Ok" },
{ "af_dialog.LABEL_CANCEL", "Anullo" }
};
}
}