在练习国际化的时候碰到 h:selectOneRadio 不能及时重建视图的问题,代码如下:
<f:view locale="#{user.locale}">
    <f:loadBundle basename="messages" var="msg" />
     <h:form>
     <h:selectOneRadio value="#{user.locale}" onchange="this.form.submit()" valueChangeListener="#{user.changeLocale}" immediate="true">
     <f:selectItem itemLabel="#{msg.zh}" itemValue="zh" />
     <f:selectItem itemLabel="#{msg.en}" itemValue="en" />
     </h:selectOneRadio>
     </h:form>
    </f:view>问题是:改变单选的值的时候,页面语言并不能立即改变,需要用鼠标单击下其他空白区域,页面才能改变,不知道这是什么问题.
public void changeLocale(ValueChangeEvent event){
this.locale=(String)event.getNewValue();
}我的想法是选中英文按钮的时候,页面语言是英文的,选中中文按钮的时候,页面语言是中文的.请问上面的代码怎么改正或其他方法实现?