JSTL - Tag core <fmt: requestEncoding>

Il <fmt:requestEncoding> tag viene utilizzato per specificare il tipo di codifica utilizzato dai moduli che inviano i dati all'applicazione Web.

Attributo

Il <fmt:requestEncoding> tag ha i seguenti attributi:

Attributo Descrizione necessario Predefinito
chiave Nome della codifica dei caratteri che si desidera applicare durante la decodifica dei parametri della richiesta. Nessuna

Usi il file <fmt:requestEncoding>tag quando si desidera specificare la codifica dei caratteri per la decodifica dei dati inviati dai moduli. Questo tag deve essere utilizzato con codifiche di caratteri diverse da ISO-8859-1. Il tag è obbligatorio poiché la maggior parte dei browser non include un'intestazione Content-Type nelle loro richieste.

Lo scopo di <fmt:requestEncoding>tag serve a specificare il tipo di contenuto della richiesta. È necessario specificare il tipo di contenuto, anche se la codifica della pagina che genera la risposta viene specificata tramite l'attributo contentType di una direttiva di pagina. Questo perché la locale effettiva della risposta (e quindi la codifica dei caratteri) potrebbe differire dal valore specificato nella direttiva della pagina.

Se la pagina contiene un file I18N-capable formatting action che imposta la locale della risposta (e quindi la codifica dei caratteri) chiamando ServletResponse.setLocale(), qualsiasi codifica specificata nella direttiva della pagina verrà sovrascritta.

Esempio

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>

<html>
   <head>
      <title>JSTL fmt:message Tag</title>
   </head>

   <body>
      <fmt:requestEncoding value = "UTF-8" />
      <fmt:setLocale value = "es_ES"/>
      <fmt:setBundle basename = "com.tutorialspoint.Example" var = "lang"/>

      <fmt:message key = "count.one" bundle = "${lang}"/><br/>
      <fmt:message key = "count.two" bundle = "${lang}"/><br/>
      <fmt:message key = "count.three" bundle = "${lang}"/><br/>

   </body>
</html>

Riceverai il seguente risultato:

Uno
Dos
Tres