JSTL - Balise principale <fmt: requestEncoding>

le <fmt:requestEncoding> La balise est utilisée pour spécifier le type de codage utilisé par les formulaires qui envoient des données à l'application Web.

Attribut

le <fmt:requestEncoding> tag a les attributs suivants -

Attribut La description Obligatoire Défaut
clé Nom du codage de caractères que vous souhaitez appliquer lors du décodage des paramètres de demande. Oui Aucun

Vous utilisez le <fmt:requestEncoding>balise lorsque vous souhaitez spécifier le codage de caractères pour le décodage des données publiées à partir de formulaires. Cette balise doit être utilisée avec des encodages de caractères différents de ISO-8859-1. La balise est obligatoire car la plupart des navigateurs n'incluent pas d'en-tête Content-Type dans leurs requêtes.

Le but de la <fmt:requestEncoding>La balise est de spécifier le type de contenu de la demande. Vous devez spécifier le type de contenu, même si l'encodage de la page générant la réponse est spécifié via l'attribut contentType d'une directive de page. En effet, les paramètres régionaux réels de la réponse (et donc le codage des caractères) peuvent différer de la valeur spécifiée dans la directive de page.

Si la page contient un I18N-capable formatting action qui définit les paramètres régionaux de la réponse (et donc le codage des caractères) en appelant ServletResponse.setLocale(), tout encodage spécifié dans la directive de page sera remplacé.

Exemple

<%@ 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>

Vous recevrez le résultat suivant -

Uno
Dos
Tres