在adf中本地化FacesContext.addMessage的按钮

时间:2014-04-03 10:29:57

标签: oracle-adf

您好我想要按钮本地化,例如:确定,在ADF中取消,

我正在使用以下代码

FacesContext fctx = FacesContext.getCurrentInstance(); fctx.addMessage(VALIDATIONERROR,new FacesMessage(FacesMessage.SEVERITY_ERROR,errorMessage,errorMessage)); fctx.renderResponse();

我得到pop并且错误消息已本地化,我的问题是如何本地化弹出窗口上的按钮,例如:OK,CANCEL

1 个答案:

答案 0 :(得分:1)

我想你在谈论af:对话框组件。在这种情况下,我可以考虑两种方式:

  1. af:dialog组件有两个属性:cancelTextAndAccessKey和affermativeTextAndAccessKey。他们可以使用一个EL,它可以将特定记录的密钥转换为.properties文件(作为资源包加载到项目中。例如:cancelTextAndAccessKey ="#{lang [' popUp。 dialog.button.cancel']}"(其中lang是我所声明的声明包的名称)

  2. 您可以通过创建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" }
        };
      }
    }