JSF Local配置不起作用

时间:2017-02-08 03:59:47

标签: java jsf jsf-2 locale

我之前在JSF应用程序中配置了Locale,但由于某种原因,我不断获得以下内容:

  

java.util.MissingResourceException:无法找到基本名称的包   com.cleanup.bundle.messages,locale es

面-config.xml的

<application>

    <resource-bundle>
        <base-name>com.cleanup.bundle.messages</base-name>
        <var>msg</var>
    </resource-bundle>

    <locale-config> 
        <default-locale>es</default-locale>
        <supported-locale>en</supported-locale>
    </locale-config>

</application>

.properties个文件:

project

由于某些原因我无法使其正常工作,请不要将其标记为重复,因为我已经验证了这些:

  1. this
  2. and this
  3. also this
  4. etc ...
  5. 我的配置与我过去使用的完全相同,但是没有任何效果,我甚至尝试将本地设置为默认语言环境:

    <f:view locale="#{languageBean.locale}">
    

    使用像这样的bean:

    @Named(value = "languageBean")
    @SessionScoped
    public class LanguageBean implements Serializable {
    
        private Locale locale;
    
        @PostConstruct
        public void init() {
            locale = FacesContext.getCurrentInstance().getApplication().getDefaultLocale();
        }
    

    出于某种原因获得相同的MissingResourceException

    非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

选择&#34;文件&#34;选项卡,然后将文件放在文件夹

src - &gt;主要 - &gt;资源(如果不存在则创建它)。

返回项目标签,它们应该出现在

下面

&#34;其他来源&#34; - &GT; src / main / resources - &gt;默认包。

文件标签:

enter image description here

项目标签:

enter image description here

我也删除了包裹名称(或者说,我没有尝试过这个名称)。

答案 1 :(得分:1)

你检查过你的战争档案吗?可能是maven构建没有将属性文件放在所需位置,因为它从resources文件夹中获取属性,因此请尝试将包结构放在resources文件夹中并再次构建.maven文件夹结构为 src ---主要         | -java         | -resources         | - webapp