Ответы пользователя по тегу JSF
  • Как записать значение в скрытое поле в jsf?

    @DiLighteR
    чтобы записать значение, jsf ищет метод setToken и не находит его. создайте сеттер. и в value передавайте само поле, а не его геттер, так что первый вариант правильный
    <h:inputHidden value="#{informationController.token}" id="hide"/>
    Ответ написан
  • Как разобраться с записью кириллицы в БД?

    @DiLighteR
    страницы jsf также на этой кодировке

    скорее всего вы имеете ввиду, что в начале xhtml страницы есть что-то типа такого
    <?xml version='1.0' encoding='UTF-8' ?>
    это просто говорит xml парсеру, в какой кодировке записана сама исходная страница, и не имеет отношения к тому, в какой кодировке передаются введенные данные на сервер.

    попробуйте фильтр, который для всех запросов принудительно устанавливает кодировку utf-8
    @WebFilter("/*")
    public class CharacterEncodingFilter implements Filter {
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            chain.doFilter(request, response);
        }
    
        // ...
    }


    если не поможет, нужно настроить кодировку запросов на вашем сервере приложений.
    Конкретно мне в случае с glassfish помог вот такой glassfish-web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
    <glassfish-web-app error-url="">
      <class-loader delegate="true"/>
      <jsp-config>
        <property name="keepgenerated" value="true"/>
      </jsp-config>
      <glassfish-web-app>
      <parameter-encoding default-charset="UTF-8" />
    </glassfish-web-app>
    </glassfish-web-app>
    Ответ написан
    Комментировать