Modificare dinamicamente il Content Type di una JSP

Lavorando con il web capita non raramente di dover settare il valore del content-type all’interno dell’header di risposta.

In alcuni casi, addirittura può essere utile settare il content type dinamicamente a seconda della risposta che si sta esibendo.

Per settare il valore del content-type in una Java Server Page si può usare il seguente codice.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %>

Ill valore dell’attributo contentType può specificare il formato (es. text/html, text/xml) e/o il charset (es. ISO-8859-1, UTF-8).

Si può anche scrivere direttamente il codice scriptlet modificando la response:

<% response.setContentType(“text/html; charset=ISO-8859-1”); %>

La comodità di questa soluzione è permette anche di utlizzare come valore di questo attributo una variabile, magari reperibile dalla request:

<% String r=(String)request.getAttribute(“responseType”);response.setContentType(r); %>