java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/XhtmlOdpověď.java
author František Kučera <franta-hg@frantovo.cz>
Wed Jan 26 03:24:40 2011 +0100 (2011-01-26)
changeset 180 7eb749d4a949
permissions -rw-r--r--
XhtmlOdpověď: obal kolem HttpServletResponse kvůli správnému MIME typu.
     1 package cz.frantovo.nekurak.servlet;
     2 
     3 import javax.servlet.http.HttpServletResponse;
     4 import javax.servlet.http.HttpServletResponseWrapper;
     5 
     6 /**
     7  * Obal kolem HTTP odpovědi, který zajistí, že i při přesměrování na JSP přes RequestDispatcher
     8  * se nastaví správný MIME typ a kódování.
     9  *
    10  * Možná by mělo fungovat, ale nefunguje nastavení ve web.xml:
    11  * <jsp-config>
    12  * <jsp-property-group>
    13  * <url-pattern>/</url-pattern>
    14  * <default-content-type>application/xhtml+xml</default-content-type>
    15  * </jsp-property-group>
    16  * </jsp-config>
    17  *
    18  * Při přesměrování se tam vždy dostalo text/xml
    19  * nepomohlo ani:
    20  * <jsp:directive.page contentType="application/xhtml+xml"/>
    21  * v JSP stránce (které normálně funguje – viz index.jsp).
    22  *
    23  * @author fiki
    24  */
    25 public class XhtmlOdpověď extends HttpServletResponseWrapper {
    26 
    27 	private static final String MIME_TYP = "application/xhtml+xml; charset=utf-8";
    28 
    29 	public XhtmlOdpověď(HttpServletResponse odpověď) {
    30 		super(odpověď);
    31 	}
    32 
    33 	/**
    34 	 * Vynutí správný typ a kódování
    35 	 * @param type ignoruje se
    36 	 */
    37 	@Override
    38 	public void setContentType(String type) {
    39 		super.setContentType(MIME_TYP);
    40 	}
    41 
    42 	/**
    43 	 * @return Vynutí správný typ a kódování
    44 	 */
    45 	@Override
    46 	public String getContentType() {
    47 		return MIME_TYP;
    48 	}
    49 }