0

I am trying generate page with available course in particular language(locale). Initially when I hit the URL with lang parameter(lang=en) , it shows proper date format in appropriate language(locale) in h:outputText. When I change language from english(28-Jan-2015 to 31-Mar-2015 ) to french(28-janv.-2015 to 31-mars-2015) and then again from french to english, the dates are remain in french language(28-janv.-2015 to 31-mars-2015). Below is my code snippet.

<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>

Is there any caching used for JSF component(<f:convertDateTime locale="#{accessParams.web_lang}" pattern="dd-MMM-yyyy" />)? I have used cachefilter to remove cache but still it shows dates in french language.

Can anyone please suggest, How can disable jsf component caching? or If I am making any mistake please let me know.

EDIT:

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>

Code to change and set the locale FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(web_lang));

mrugeshthaker
  • 657
  • 2
  • 8
  • 25

0 Answers0