Это анти-паттерн для размещения меток и тому подобного в файлах свойств (выпущенных для JSP и веб-разработки) - PullRequest
4 голосов
/ 22 мая 2009

Я вижу, что многие разработчики J2EE помещают метки в файлы свойств, но не используют разные локали. Таким образом, вы получаете много пропущенных исключений свойств. И главное, это затрудняет отладку и чтение страницы JSP. Таким образом, со временем у вас появятся тысячи строк файлов свойств, которые могут или не могут использоваться с файлом JSP.

Для меня это выглядит как плохой дизайн, особенно если вы не собираетесь использовать файл свойств на разных языках и сменить его на английский или французский в зависимости от локали.

Мне просто интересно, чувствовали ли вы то же самое, и есть ли список или URL-адрес анти-шаблонов J2EE / JSP.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2010

Отделение контента от шаблона всегда хорошая практика. Таким образом, вам не нужно перестраивать, заново развертывать и / или перезапускать все это для каждого глупого изменения контекста / опечатки / сбой. API ResourceBundle (который стандартно используется для fmt taglib и других тегов i18n / l10n в JSTL) достаточно smart для динамической перезагрузки файлов ресурсов на каждое изменение (по крайней мере, если вы используете JDK 1.6 или новее, в котором встроены эти улучшения ).

Кроме того, всякий раз, когда вы хотите перейти на i18n или хотите перейти от файла свойств к таблице базы данных или к чему-то еще, вам не нужно менять шаблон для извлечения из него содержимого - что вас укусит гораздо больше если вы сделаете это потом.

Корреляция содержимого и местоположения в шаблоне друг с другом - это лишь небольшая работа, я могу себе представить, что это основной страх среди разработчиков / сопровождающих. Я сам составляю ключи так, чтобы они примерно соответствовали pagename.parentid.elementtype.elementname.contenttype (примерно; не все из них необходимы, но это дает представление), так что уже сразу понятно, где они находятся.

например. home.login.label.username.tooltip ключ, который указывает на home.jsp с:

<form id="login">
    <label for="username" title="${text['home.login.label.username.tooltip']}">

Соблюдайте это соглашение последовательно, и вы поймете, что все это будет легче поддерживать.

1 голос
/ 22 мая 2009

Определенно рекомендуется помещать метки в файлы свойств. Даже если вы не планируете интернационализировать сейчас, это может произойти в будущем. Это также поможет вам использовать единообразное наименование для ваших страниц.

Я не знаю, почему вы получаете исключения из собственности. В большинстве сред система считывает файл по умолчанию (на английском языке), если файл свойств для локали пользователя не найден.

Вам нужно привыкнуть к чтению страниц JSP с полями, считанными из внешнего файла свойств. Это не так сложно, и преимущества намного превышают трудности.

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