2016-12-30 1 views
8

Я использую Java 6, JBoss 7.1.3 и Spring 3.2.11.RELEASE. Несмотря на то, что мы ставим это в нашем контексте приложенияКак установить pageEncoding для всех моих JSP, не касаясь каждого JSP-файла?

<bean id="systemPrereqs" 
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject" value="#{@systemProperties}" /> 
    <property name="targetMethod" value="putAll" /> 
    <property name="arguments"> 
     <!-- The new Properties --> 
     <util:properties> 
      <prop key="org.apache.catalina.connector.URI_ENCODING">UTF-8</prop> 
     </util:properties> 
    </property> 
</bean> 

Я заметил на моих JSPs, специальные символы не отображаются правильно, если мы не указали

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 

в верхней части страницы JSP. Это подходит для одного JSP, но громоздко придется пройти через все приложение, добавив эти директивы. Есть ли более глобальное место, где я могу указать это, например, в контексте Spring или где-нибудь, что будет универсально добавлять приведенную выше директиву ко всем нашим страницам JSP?

ответ

0

Добавьте следующую системное свойство также:

<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/> 
+0

Дал thsi a go, но это не сработало. – Dave

0

Поместите следующее в вашем web.xml ,

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <page-encoding>UTF-8</page-encoding> 
    </jsp-property-group> 
</jsp-config> 
+0

Привет, Как ваш ответ отличается от code_angel, введенный на 1/6? – Dave

+0

Я добавил необязательную строку 'default-content-type', чтобы сделать ее другой раз;) –

+0

K, позвольте мне дать вам эту директиву, потому что исходный ответ, как вы, ай, не сработал для меня. SPecifically cnotent хранится в db как 'и' Evidence '' (обратите внимание на умные кавычки, надеюсь, что те, что вырезаны и наклеены) все еще отображаются как «и? ' – Dave

0

Как насчет использования фильтра?

<filter> 
<filter-name>characterEncodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
    <param-name>encoding</param-name> 
    <param-value>UTF-8</param-value> 
</init-param> 
</filter> 

<filter-mapping> 
    <filter-name>characterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
+0

Я забыл упомянуть, что эта конфигурация уже присутствует в моем web.xml, но проблема остается. – Dave

+0

@ Попробуйте использовать <системные свойства> Boldbayar

Смежные вопросы