JSF组件outputText缓存值(语言环境)

时间:2015-05-06 13:17:46

标签: jsf-2

我正在尝试生成具有特定语言(语言环境)的可用课程的页面。最初,当我使用lang参数(lang = en)点击URL时,它会在 h:outputText 中以适当的语言(语言环境)显示正确的日期格式。当我将语言从英语(2015年1月28日至2015年3月31日)改为法语(28-janv.-2015至31-mars-2015),然后再从法语改为英语时,日期仍为法语(28-janv.-2015至31-mars-2015)。以下是我的代码段。

<h:form id="accountForm">
        <div class="content cols cols--two">
            <div class="col col--one">
                <p class="wipo_title">
                    <h:outputText id="portfolioYear" value="#{accessParams.currentYear}"/>&#160;<h:outputText value="#{msgs['DL_TABLE_TITLE']}"/>
                </p>    
            </div>
            <div class="col col--two" style="background-color: #EAEDEC; border: 1px solid #B4B7B6; border-radius: 10px;padding:10px;">
                #{msgs['course_avail_in']}&#160;
                <h:selectOneMenu id="courseLanguage" style="width:40%;" value="#{dlCatalogActionBean.selectedLanguage}" valueChangeListener="#{dlCatalogActionBean.courseLanguageListener}" >
                    <f:selectItems value="#{dlCatalogActionBean.languages}"/>
                    <f:ajax event="change"  render=":prg_list" execute="courseLanguage" />
                </h:selectOneMenu>
            </div>
        </div>
    </h:form>
    <h:form id="prg_list">
        <ui:fragment id="prg_items">

<ui:fragment rendered="#{fn:length(dlCatalogActionBean.programListGeneral[0].offerCourseList) eq 0 ? false:true}">  
//some code................

<h:outputText value="#{oCourse.regStartDate}">
<f:convertDateTime locale="#{accessParams.web_lang}" pattern="dd-MMM-yyyy" />
</h:outputText> #{msgs['TO']}
<h:outputText value="#{oCourse.regEndDate}">
<f:convertDateTime locale="#{accessParams.web_lang}" pattern="dd-MMM-yyyy" />
</h:outputText>
// some code............
</h:form>

是否有任何用于JSF组件的缓存( <f:convertDateTime locale="#{accessParams.web_lang}" pattern="dd-MMM-yyyy" /> )?我已经使用cachefilter来删除缓存,但它仍然用法语显示日期。

任何人都可以建议,如何禁用jsf组件缓存?或者如果我犯了任何错误,请告诉我。

修改

faces-config.xml
<application>
        <locale-config>
            <default-locale>en</default-locale>
            <supported-locale>ar</supported-locale>
            <supported-locale>zh_cn</supported-locale>
            <supported-locale>pt_br</supported-locale>
            <supported-locale>de</supported-locale>
            <supported-locale>en</supported-locale>
            <supported-locale>fr</supported-locale>
            <supported-locale>es</supported-locale>
            <supported-locale>ru</supported-locale>

        </locale-config>
        <resource-bundle>
            <base-name>org.wipo.internet.academy.cc.resources.Catalog</base-name>
            <var>msgs</var>
        </resource-bundle>

    </application>

更改和设置区域设置的代码 FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(web_lang));

0 个答案:

没有答案