在JSF2.x中声明资源包的不同方式

在JSF2.x中声明资源包的不同方式,jsf,facelets,resourcebundle,jsf-2.2,Jsf,Facelets,Resourcebundle,Jsf 2.2,我正在我的工作场所工作JSF2.2。My faces-config.xml具有resource bundle标记,可帮助我将变量分配给属性文件并在EL中使用该变量 <resource-bundle> <base-name>properties.common</base-name> <var>prop</var> </resource-bundle> 属性。常见 道具 我还发现了另一种实现这一

我正在我的工作场所工作JSF2.2。My faces-config.xml具有resource bundle标记,可帮助我将变量分配给属性文件并在EL中使用该变量

   <resource-bundle>
    <base-name>properties.common</base-name>
    <var>prop</var>
   </resource-bundle>

属性。常见
道具
我还发现了另一种实现这一点的方法,使用f:loadBundle标记如下

<f:loadBundle basename="properties.common" var="prop"/>

但这是一个本地化的解决方案,这意味着我必须在每一页上都写下它

  • 如果我在一个模板中定义它,这会起作用吗?如果是,我如何实现它

  • 是否有其他方法可以使用EL中使用的变量全局声明资源(如faces config.xml)

  • 如果我在一个模板中定义它,这会起作用吗


    如果是,我如何实现它

    照你说的做就行了。在模板中定义它


    是否有其他方法可以使用EL中使用的变量全局声明资源(如faces config.xml)

    将它放在视图中引用的请求范围bean的(post)构造函数中的请求映射中

    ResourceBundle bundle = ResourceBundle.getBundle("properties.common", facesContext.getViewRoot().getLocale());
    externalContext.getRequestMap().put("prop", bundle);
    
    它甚至可以被引用为请求范围bean的属性,这保证了bean的构造,即使它没有在视图的其他地方被引用

    如果我在一个模板中定义它,这会起作用吗


    如果是,我如何实现它

    照你说的做就行了。在模板中定义它


    是否有其他方法可以使用EL中使用的变量全局声明资源(如faces config.xml)

    将它放在视图中引用的请求范围bean的(post)构造函数中的请求映射中

    ResourceBundle bundle = ResourceBundle.getBundle("properties.common", facesContext.getViewRoot().getLocale());
    externalContext.getRequestMap().put("prop", bundle);
    

    它甚至可以被引用为请求范围bean的属性,这保证了bean的构造,即使它没有在视图中的其他地方被引用。

    这正是我想要的,请参阅我的文章


    谢谢大家…

    这正是我要找的,请看我的帖子

    谢谢大家