数据库值的 JSF 翻译
JSF Translation of database values
在 JSF 前端转换来自后端 (hibernate/mysql) 的动态值是否有最佳实践。只是想在 oneselectmenu.
中显示它们
我的问题只是确定来自数据库的所有值的范围...诸如性别、称呼等等。所有这些东西都存储在数据库中。所有静态值,如输入字段的标签等,都已使用语言消息 属性 文件翻译。
你的方法是什么?
假设您已经在数据库中保存了性别值,并且希望在 p:selectOneMenu
中将其国际化。
首先创建您的关键信息,例如:
choose = Choose
gender = Gender
database.gender.MALE = Male
database.gender.FEMALE = Female
使用这样的键,您在数据库中存储的值(并由 dao 返回)必须看起来像 MALE 和 FEMALE。
那么您可以使用此代码进行 i18n
<p:outputLabel value="#{msg.gender}"/>
<p:selectOneMenu value="#{bean.chosenGender}">
<f:selectItem itemLabel="#{msg.choose}" itemValue="" />
<f:selectItems var="gender" value="#{bean.genderList}"
itemLabel="#{msg['database.gender.' += gender]}" />
</p:selectOneMenu>
在 JSF 前端转换来自后端 (hibernate/mysql) 的动态值是否有最佳实践。只是想在 oneselectmenu.
中显示它们我的问题只是确定来自数据库的所有值的范围...诸如性别、称呼等等。所有这些东西都存储在数据库中。所有静态值,如输入字段的标签等,都已使用语言消息 属性 文件翻译。
你的方法是什么?
假设您已经在数据库中保存了性别值,并且希望在 p:selectOneMenu
中将其国际化。
首先创建您的关键信息,例如:
choose = Choose
gender = Gender
database.gender.MALE = Male
database.gender.FEMALE = Female
使用这样的键,您在数据库中存储的值(并由 dao 返回)必须看起来像 MALE 和 FEMALE。
那么您可以使用此代码进行 i18n
<p:outputLabel value="#{msg.gender}"/>
<p:selectOneMenu value="#{bean.chosenGender}">
<f:selectItem itemLabel="#{msg.choose}" itemValue="" />
<f:selectItems var="gender" value="#{bean.genderList}"
itemLabel="#{msg['database.gender.' += gender]}" />
</p:selectOneMenu>