2016-12-30 112 views
8

Używam Java 6, JBoss 7.1.3 i Spring 3.2.11.RELEASE. Pomimo faktu, że możemy ustawić to w naszym kontekście aplikacjiJak ustawić funkcję pageEncoding dla wszystkich moich stron JSP bez dotykania każdego pliku 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> 

zauważam na moich stronach JSP, znaki specjalne nie są wyświetlane poprawnie, chyba że określić

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

na górze strony JSP. Jest to dobre dla jednego JSP, ale jest uciążliwe, gdy trzeba przejść przez całą aplikację dodając te dyrektywy. Czy istnieje bardziej globalne miejsce, w którym mogę to określić, na przykład w kontekście wiosennym lub gdzieś, które uniwersalnie doda powyższą dyrektywę do wszystkich naszych stron JSP?

Odpowiedz

0

Dodaj następującą właściwość systemu także:

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

Udało się, ale nie zadziałało. – Dave

0

umieścić następujące w Twojej web.xml .

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

Witam, Jaka jest twoja odpowiedź inna niż w code_angel's, wprowadzona na 1/6? – Dave

+0

Dodałem opcjonalny wiersz 'default-content-type', aby zmienić go ponownie;) –

+0

K, pozwól mi dać z siebie tę dyrektywę, ponieważ oryginalna odpowiedź, jak to zrobił, nie zadziałała dla mnie. Spostrzegawczo przechowywane w bazie danych jako "i" Dowody "(zauważ, że inteligentne cytaty, mam nadzieję, że zostały wycięte i wklejone) były nadal renderowane jako" i? Dowód? ' – Dave

0

Co powiesz na filtrowanie?

<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

Zapomniałem wspomnieć, że ta konfiguracja jest już obecna w moim web.xml, a jednak problem pozostaje. – Dave

+0

@ Spróbuj użyć Boldbayar