我正在尝试生成具有特定语言(语言环境)的可用课程的页面。最初,当我使用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}"/> <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']} 
<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));