powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF2: тег h:message сведения об ошибке в кодировке ISO-8859-1
3 сообщений из 3, страница 1 из 1
JSF2: тег h:message сведения об ошибке в кодировке ISO-8859-1
    #38370994
Viktor Grafskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, на странице присутствует несколько тегов в числе которых <h:message .. />, который, в случае если, параметры ввода текстового поля "Возраст" указаны не верно выдает сообщение об ошибке, при этом дублируя ввод пользователя. Проблема в том, что ввод пользователя, после его обработки в JSF, возвращается уже в кодировке ISO-8859-1, а не в UTF-8 каким он был изначально.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <h:head />
    <h:body>
        <h:form>
            <h:panelGrid columns="3">
                <h:outputLabel value="#{msgs.age}" />
                <h:inputText id="age" value="#{index.age}" label="#{msgs.age}">
                    <f:convertNumber integerOnly="true" />
                </h:inputText>
                <h:message for="age" styleClass="errorMessage" />
            </h:panelGrid>
        </h:form>
    </h:body>
</html>


Когда пользователь вместо цифр вводит в данную форму буквы на кириллице, например слово "Привет", на странице появляется следующее сообщение об ошибке:
Код: html
1.
Возраст: 'ЗДЕСЬ_ИДУТ_КРАКОЗЯБЛЫ (вместо введенного слова Привет)' is not a number. Example: 99


Я могу установить WebFilter и принудительно менять кодировку при генерации ответов, но мне кажется, что это не совсем "красивенько". Прошу помочь разобраться с решением данной проблемы.
...
Рейтинг: 0 / 0
JSF2: тег h:message сведения об ошибке в кодировке ISO-8859-1
    #38371012
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему это настраивается в реализации JSF или контейнера.
А попробуйте просто запустить сервер с -Dfile.encoding=UTF-8
...
Рейтинг: 0 / 0
JSF2: тег h:message сведения об ошибке в кодировке ISO-8859-1
    #38372201
Viktor Grafskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПо-моему это настраивается в реализации JSF или контейнера.
А попробуйте просто запустить сервер с -Dfile.encoding=UTF-8Спасибо Вам за ответ! Я использую Tomcat и данный параметр у меня был выставлен по умолчанию.

Собака порылась в библиотеке weld-servlet от JBoss:
Код: xml
1.
2.
3.
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>2.0.0.SP1</version>

Данная библиотека используется мной для поддержки CDI бинов в Tomcat'е. Стоит только инициализировать бин и кодировка слетает, причем слетает настолько, что фильтрами исправить кодировку не удается. Вот нашел описание проблемы, быть может кому пригодиться https://issues.jboss.org/browse/WELD-1467?page=com.atlassian.jirafisheyeplugin:crucible-issuepanel . Удачи!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF2: тег h:message сведения об ошибке в кодировке ISO-8859-1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]