![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| carper |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
Spring Security v.3.03
На форме логина (login.jsp)
Хочется локализовать сообщение об ошибке, НЕ прибегая к редактированию/созданию нового файла/ов messаges.properties ВНУТРИ spring-security-core-3.0.3.RELEASE.jar. Прописывание в файле конфигурации:
Ничего не дает - сообщения из обоих файлов ресурсов отлично выводятся на той же login.jsp с использованием тэгов spring:message code=... (т.е. файлы ресурсов видны и гарантированно содержат русский текст => не может быть путаницы), но локализации сообщений об ошибках не получается. Так и получаю свое Bad creditians. Пробовал вместо (и вместе тоже - и так и так пробовал) вышеприведенного фрагмента использовать
Тогда не локализуется вообще ничего. |
||||||
|
|||||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Привет. Если честно, то ничего смертельного в этом нет, что ты создаешь свой файлик, который будет содержать перевод мессаджей, и положишь его внутрь spring-security-core-3.0.3.RELEASE.jar.
Это надо сделать всего один раз. А так ты больше потратишь времени на выяснение, как же его заставить читать твой файлик внутри твоего проекта. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| carper |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
1. Это напоминает хак, что почти всегда есть плохо. Ну, хотя бы потому, что при переходе на следующую версию, надо помнить о необходимости такой подмены. Со временем хаки разной степени глубины накапливаются и приложение становится плохо управляемым. 2. У Spring Security файлы свойств есть и для других библиотек, мне что теперь везде перепаковывать библиотеки с новыми ресурсами? 3. Если я захочу менять тексты сообщений в зависимости от приложения, мне что поддерживать одновременно несколько jar - каждый со своими файлами свойств? 4. Поскольку стандартный механизм поиска файлов свойств авторы Spring Security вроде как не собирались отменять, то есть большая вероятность, что мне все же следует понять, что я делаю не так. |
|||
|
||||
| carper |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
Все усугубилось :(
Попробовал добавить свой файл (чтобы не ошибиться с локалью, предварительно потер все файлы свойств из spring-security-core-3.0.3.RELEASE.jar) свойств с именем messages.properties, содержащий руссифицированные сообщения. Результат тот-же - похоже файлы свойств вообще не ищутся, ни при каких условиях, и всегда выдаются сообщения об ошибках жестко заданные в коде! :( P.S. Разумеется в basenames пробовал задавать <value>org/springframework/security/messages</value> Именно там в jar-нике они и лежат. |
|||
|
||||
| ki6opr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
нужно создавать LocalResolver, просто спринг по умолчанию локалью не интересуется
тут Ну и у себя в проектах я message.properties которые внутри спринга нетрогаю, а делаю также как и вы в первом посте (указав их в мессадж сорс) |
|||
|
||||
| carper |
|
||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
Когда я оставляю единственный файл - messages.properties, Spring должен использовать его по-умолчанию, независимо от найденной локали. Так? В этом файле подменяю сообщения на свои, но они не выводятся, а выводятся жестко закодированные в коде англоязычные. Отсюда вывод - я где-то накосячил сам. Вот накидал работающий тестовый примерчик, позволю себе привести файлы конфигурации: web.xml
applicationContext-security.xml
mainSpringCfg-servlet.xml
login.jsp
В примере все работает - авторизация, https, тэги Spring и т.п., не работает только попытка руссификации SPRING_SECURITY_LAST_EXCEPTION.message. Ну и еще {SPRING_SECURITY_LAST_USERNAME}, если логин ввести на русском, то при повторном запросе логина похоже перекодируется в коды UTF, но с этим пока можно смириться. |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |