Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Jsf Messagebundle显示键而不是值_Jsf_Message Bundle - Fatal编程技术网

Jsf Messagebundle显示键而不是值

Jsf Messagebundle显示键而不是值,jsf,message-bundle,Jsf,Message Bundle,出于测试/调试目的,我想显示消息包中的键,而不是jsf应用程序中的值。可能吗 例如: My messages_en.properties包含以下条目: global_today=today 示例jsf页面 <h:outputLabel id="myId" value="{Msgs['global_today']}"/> 现在我想看到页面中的键,“今天全局”而不是今天。最简单的方法是重命名属性文件,这样JSF就不会找到任何键,而您将看到的是“今天全局” 如果您今天仍

出于测试/调试目的,我想显示消息包中的键,而不是jsf应用程序中的值。可能吗

例如: My messages_en.properties包含以下条目:

global_today=today   
示例jsf页面

<h:outputLabel id="myId" value="{Msgs['global_today']}"/>   


现在我想看到页面中的键,“今天全局”而不是今天。

最简单的方法是重命名属性文件,这样JSF就不会找到任何键,而您将看到的是“今天全局”

如果您今天仍想查看
全局\u
,可以执行以下操作:

假设您的faces-config.xml中有以下内容

<resource-bundle>
    <base-name>my.package.resources.MyText</base-name>
</resource-bundle>

这个页面()已经向我指出了这个方向,而且这个方向是有效的
public class MyTextExtender extends ResourceBundle {

    public MyTextExtender() {
        setParent(getBundle("my.package.resources.MyText", FacesContext.getCurrentInstance()
                .getViewRoot().getLocale()));
    }

    @Override
    public Enumeration<String> getKeys() {
        return parent.getKeys();
    }

    @Override
    protected Object handleGetObject(String key) {
        return key;
        //The code below will try to turn the annoying ???some_key??? 
        //into "some key" (looks better)
        /*try {
            return parent.getObject(key);
        } catch (MissingResourceException e) {
            if (!StringUtils.isEmpty(key)) {
                logger.error("Missing key: " + key + " in the properties", e);
                return key.replace("_", " ");
            } else {
                logger.error("Key was null???", e);
                return "";
            }
        }*/
    }
}