Как заменить нумерацию PrimeFaces DataTable пользовательскими кнопками? - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу заменить стандартные кнопки разбиения на страницы DataTable пользовательским JSF h: outputtext.

Это текущее значение:

enter image description here

Теперь мне нужно полностью изменить кнопку. Проблема в том, что я использую файл JSF messages.properties из-за разных языков.

Вот как это должно выглядеть:

enter image description here

Итак, я сначала подумал, что могу заменить его на JS, но это не может работать из-за разных языков. Поэтому, когда пользователь - китаец, текст должен измениться с «Далее» на «下 一個», и это не может быть сделано с помощью сценария JS, потому что DOM уже загружен и JS не имеет функциональности JSF.

Это следующая кнопка из DOM:

<a href="#" class="ui-paginator-next ui-state-default ui-corner-all ui-state-hover" aria-label="Next Page" tabindex="0"><span class="ui-icon ui-icon-seek-next">N</span></a>

Так что мне нужно сделать что-то вроде этого:

<a href="#" class="ui-paginator-next ui-state-default ui-corner-all ui-state-hover" aria-label="Next Page" tabindex="0"><span>#{msgs.nextMessage} &rarr;</span></a>

Но как?

1 Ответ

0 голосов
/ 05 сентября 2018

У вас должно быть несколько файлов messages.properties, каждый на свой язык, верно? Пример ниже показывает, как я могу сделать приложение, которое работает с английским и испанским языками.

У вас будет сообщение.properties с: greeting = Hello!

Затем вам понадобится message_sp.properties с: greeting = Hola!

Вам нужно будет обновить файл face-config.xml, в котором вы хотите убедиться, что у вас есть следующее.

 <application>
     <locale-config>
         <default-locale>en_GB</default-locale>
         <supported-locale>sp</supported-locale>
     </locale-config>

     <resource-bundle>
         <base-name>uk.police.ecis.message</base-name>
         <var>message</var>
     </resource-bundle>
 </application>

Затем в своем файле JSF напишите что-то вроде этого:

<a href="#" class="paginatorStyle" aria-label="Next Page" tabindex="0"><span>#{message.greeting} &rarr;</span></a>

Все остальное для вас выяснит. Интернационализация в JSF - это то, что вы пытаетесь сделать. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...