2015-11-15 2 views
0

Есть ли передовая практика для преобразования динамических значений, поступающих из бэкэнд (hibernate/mysql) в интерфейсе JSF. Просто изображение, которое вы хотели бы показать им в oneselectmenu.JSF Перевод значений базы данных

Мой вопрос касается только всех значений, поступающих из базы данных ... таких вещей, как пол, приветствие и т. Д. Все эти материалы хранятся в базе данных. Все статические значения, такие как метки для полей ввода и т. Д., Уже переведены с использованием файлов свойств сообщения языка.

Какой будет ваш подход?

ответ

0

Предположим, вы сохранили гендерные значения в своей базе данных и хотите интернационализировать его в p:selectOneMenu.

Сначала создайте ваши ключевые сообщения, например:

choose = Choose 
gender = Gender 
database.gender.MALE = Male 
database.gender.FEMALE = 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> 
+0

Это звучит как reasonale подход. Только понижение здесь состоит в том, что это не очень динамично, так как мне нужно повторно развертывать приложение (или файл сообщения) каждый раз, когда я хочу добавить новые значения в базу данных, которая должна быть переведена. Но я думаю, что это небольшое понижение в любом случае. –

+0

Затем поместите все, включая переводы в базу данных, и сделайте базу данных на основе ресурсов/сообщение – Kukeltje

+0

о да. Это оно! Большое спасибо! –

Смежные вопросы