Java / JSF i18n длинные тексты (условия, часто задаваемые вопросы) - PullRequest
4 голосов
/ 21 июня 2011

в большинстве случаев у меня просто есть много коротких текстовых строк, объединённых где-то на странице.Но в некоторых случаях у меня была просто страница с длинным статическим текстом, например, термины или часто задаваемые вопросы.

Теперь, просто поместите абзац также в комплект ресурсов или установите переключатель в значение term_en.xhtml и т. Д.

Каков наилучший / стандартный способ обработки длинных текстов в JSF?

1 Ответ

2 голосов
/ 21 июня 2011

Обычно есть два подхода:

  1. Поместите текст независимо от длины в файлы ресурсов. Я полагаю, что вы не хотите делать это, потому что это громоздко и файлы ресурсов становятся сложнее поддерживать.
  2. Создание статических файлов (то есть HTML-страниц или простых текстовых файлов) и загрузка их во время выполнения. В случае HTML-файлов вы можете легко встроить их, например, в iframe. Все, что вам нужно, это прочитать правильный файл, но имя может быть создано бэкэнд-контроллером на основе UIViewRoot Locale. В случае статических текстовых файлов ваш подход был бы другим: просто загрузите их по требованию на стороне сервера и запросите содержимое.

Лично я предпочитаю второй подход с простыми текстовыми файлами. Если вам не нужны «богатые» функции, такие как разные стили для данного слова или абзаца, это может быть очень легко реализовать. На самом деле способ iframe также очень прост в обращении, единственная причина, по которой я не покупаю эту идею, - это то, что iframe означает два запроса вместо одного.

КСТАТИ. На самом деле вы можете загрузить HTML на серверной стороне и отобразить это правильно, но вы должны помнить, чтобы не экранировать теги:

<h:outputText escape="false" value="#{someController.faq}" />

Убедитесь, что это не что-то, что может быть введено конечным пользователем, так как в конечном итоге вы получите уязвимость XSS.

...