XhtmlOdpověď: obal kolem HttpServletResponse kvůli správnému MIME typu.
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/XhtmlOdpověď.java Wed Jan 26 03:24:40 2011 +0100
1.3 @@ -0,0 +1,49 @@
1.4 +package cz.frantovo.nekurak.servlet;
1.5 +
1.6 +import javax.servlet.http.HttpServletResponse;
1.7 +import javax.servlet.http.HttpServletResponseWrapper;
1.8 +
1.9 +/**
1.10 + * Obal kolem HTTP odpovědi, který zajistí, že i při přesměrování na JSP přes RequestDispatcher
1.11 + * se nastaví správný MIME typ a kódování.
1.12 + *
1.13 + * Možná by mělo fungovat, ale nefunguje nastavení ve web.xml:
1.14 + * <jsp-config>
1.15 + * <jsp-property-group>
1.16 + * <url-pattern>/</url-pattern>
1.17 + * <default-content-type>application/xhtml+xml</default-content-type>
1.18 + * </jsp-property-group>
1.19 + * </jsp-config>
1.20 + *
1.21 + * Při přesměrování se tam vždy dostalo text/xml
1.22 + * nepomohlo ani:
1.23 + * <jsp:directive.page contentType="application/xhtml+xml"/>
1.24 + * v JSP stránce (které normálně funguje – viz index.jsp).
1.25 + *
1.26 + * @author fiki
1.27 + */
1.28 +public class XhtmlOdpověď extends HttpServletResponseWrapper {
1.29 +
1.30 + private static final String MIME_TYP = "application/xhtml+xml; charset=utf-8";
1.31 +
1.32 + public XhtmlOdpověď(HttpServletResponse odpověď) {
1.33 + super(odpověď);
1.34 + }
1.35 +
1.36 + /**
1.37 + * Vynutí správný typ a kódování
1.38 + * @param type ignoruje se
1.39 + */
1.40 + @Override
1.41 + public void setContentType(String type) {
1.42 + super.setContentType(MIME_TYP);
1.43 + }
1.44 +
1.45 + /**
1.46 + * @return Vynutí správný typ a kódování
1.47 + */
1.48 + @Override
1.49 + public String getContentType() {
1.50 + return MIME_TYP;
1.51 + }
1.52 +}