我希望你能帮我解决以下问题:
我有一个贯穿一系列文本的文本,这些文本有几种不同的语言翻译(该值由langId传递,最初为0)。 主JSF页面看起来像:
<ui:repeat var="entry" value="#{bean.foundEntries}">
<ui:include src="../../templates/entryTemplate.xhtml">
<ui:param name="langId" value="0" />
<ui:param name="entry" value="#{entry}" />
</ui:inculde>
</ui:repeat>
现在,每个生成的条目都为每种可用语言提供了一个按钮,可通过单击按钮来更改内容。请参阅 entryTemplate.xhtml :
<ui:composition>
<table id="whole">
<tr><td> #{entry.content(langId)} </td></tr>
<tr><td>
<ui:repeat var="translation" value="#{entry.translations}">
<p:commandLink id="button">
<p:ajax render=":whole" />
//I NEED TO SET/CHANGE SOMEHOW THE passed #{langId} to the new value #{translation.language.id}
</p:commandLink>
</td></tr>
</table>
</ui:composition>
我尝试过,但它没有用。
这个问题可以解决吗?如何通过快速单击按钮来实现用户可以更改特定条目的语言?我试图避免在支持bean中保存每个Entry的语言状态......或者这是唯一的解决方案吗?
感谢您的帮助!
答案 0 :(得分:0)
<h:selectOneMenu id="dropdown" value="#{UtilManagedBean.locale}" onchange="submit()">
<f:selectItem itemValue="en_US" itemLabel="English" />
<f:selectItem itemValue="hi_IN" itemLabel="Marathi" />
</h:selectOneMenu>