Kodovani a JSF?

Pavel Rezny pare na tmapy.cz
Úterý Leden 3 15:53:56 CET 2006


  Dekuji za rychlou a vycerpavajici odpoved.

response.setContentType/CharacterEncoding zkusim nastavit v jednom z 
PhaseListeneru, jestli splni zamysleny ucel.

V kazde JSP strance se mi to nechce delat, protoze jsem chtel mit tu 
samou stranku pouzitelnou pro ruzna kodovani.
<jsp-property-group> nevim jestli je možné/správné pouzit v JSF 
aplikaci, kde na definici zpracovatele konkretni pripony je pouzito 
nastaveni ve web.xml aplikace:
<web-app>
...
<servlet>
<servlet-name>pokus</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>pokus</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
...
</web-app>

(Ovsem tady neni dovolen tag <page-encoding> :-(

Reseni, ze se pri kazdem requestu nastavuje kodovani znovu at jiz 
response.setContentType/CharacterEncoding nebo v kazde strance jsp se mi 
zda neohrabane.
Cekal jsem, ze by melo jit na serveru bud vypnout zasilani kodovani v 
http hlavicce uplne (a posilat jen html-head-meta doplnovane skriptem - 
coz je stejne neohrabane, ale dostatecne univerzalni ;-) a nebo na 
jednom miste nakonfigurovat nastaveni platne pro celou aplikaci (.war).

PavelR

Martin Kuba wrote:

> Pavel Rezny wrote:
>
>> Dobry den,
>>
>> mam problem, ze server posila http header, ktery obsahuje definici 
>> kodovani 8859-1.
>> Ovsem ja mam stranky v ruznem kodovani (v soucasnosti UTF-8, ale 
>> chtel bych zachovat moznost mit jednu stranku s tim, ze kodovani se 
>> do ni doplni az do html-head-meta).
>> Ovsem prohlizec nehledi na obsah HTML a orientuje se podle HTTP 
>> hlavicky.
>>
>> Nenasel jsem, jak nastavit kodovani stranek pro jednu aplikaci.
>> Nasel jsem pouze, ze by to melo jit pro cely server a nebo pro jednu 
>> stranku pomoci <%@ page contentType="text/html;charset=UTF-8" %>.
>>
>> Problem se projevuje na Tomcat 5.5 (jsf 1.1.01) a Glassfish b32.
>> Je nejaka moznost, jak nastavit bud, ze se kodovani vubec v http 
>> hlavicce nebude posilat a nebo, ze pro jednu aplikaci ("deployovany" 
>> WAR) je platne jedno urcite kodovani?
>
>
> Nevim jak to delaja konkretne JSF, ale obecne je to tak, ze
> kodovani se nastavuje volanim
>
> response.setContentType("text/html;charset=utf-8");
>
> nebo
>
> response.setContentType("text/html");
> response.setCharacterEncoding("utf-8");
>
> podrobnosti viz
> http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String) 
>
>
> Tohle volani muzete delat bud rucne ze servletu ci filtru, v pripade JSP
> stranek ho muzete specifikovat pro kazdou stranku pomoci
> <%@ page contentType="text/html;charset=UTF-8" %>
> nebo podle specifikace JSP2.0 pro skupinu stranek ve web.xml
> pomoci
>
> <jsp-property-group>
> <url-pattern>*.jsp</url-pattern>
> <page-encoding>utf-8</page-encoding>
> </jsp-property-group>
>
> viz specifikace JSP 2.0, cast 3.3.4 na strane 1-90. Tuhle posledni
> moznost jsem nezkousel, tak nevim jestli v tomcatu 5.5 funguje, ale
> mela by.
>
> Makub





Další informace o konferenci Konference