Решено: jsp проблема с отображением кодировки - PullRequest
1 голос
/ 30 марта 2020

Я нахожу проблему, когда данные должным образом кодируются в контроллере и компилируются jsp, но не отображаются должным образом в сообщении с предупреждением (или на странице). Пожалуйста, смотрите следующие конфигурации.

  • свойство сервера tomcat
-Dfile.encoding=UTF8
  • java контроллер - жестко заданное значение
renderRequest.setAttribute("general", "¯_(ツ)_/¯ ¯_(ツ)_/¯");
  • первая строка в jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  • jsp скриптлет для отображения атрибута сеанса
<%
    String general = (String)request.getAttribute("general");
    System.out.println("#### general is: " + general);
%> 

#### general is: ¯_(ツ)_/¯ ¯_(ツ)_/¯

  • html in jsp
<code><p>¯_(ツ)_/¯ ¯_(ツ)_/¯</p>

<pre>'<%= request.getAttribute("general") %>'
  • скомпилировано jsp фрагмент с закодированными символами
out.write("\t\t<p>¯_(ツ)_/¯ ¯_(ツ)_/¯</p>\r\n");
  • весь дисплей
¯_(ツ)_/¯ ¯_(ツ)_/¯
  • веб. xml конфигурация
    <filter>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <async-supported>true</async-supported>
    </filter>
  • сервер. xml конфигурация
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="7070" protocol="HTTP/1.1" redirectPort="8443"/>

Какая простая конфигурация мне здесь не хватает?

1 Ответ

1 голос
/ 31 марта 2020

Это был простой недосмотр, чтобы включить отображение фильтра вместе с фильтром (шлепает по лбу). Добавлено следующее: xml config вместе с предыдущими обновлениями, и все заработало.

<filter-mapping>
    <filter-name>setCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...