JSTL - Tag <fmt: requestEncoding> principal

o <fmt:requestEncoding> tag é usada para especificar o tipo de codificação usado por formulários que postam dados de volta no aplicativo da web.

Atributo

o <fmt:requestEncoding> tag tem os seguintes atributos -

Atributo Descrição Requeridos Padrão
chave Nome da codificação de caracteres que você deseja aplicar ao decodificar os parâmetros de solicitação. sim Nenhum

Você usa o <fmt:requestEncoding>tag quando você deseja especificar a codificação de caracteres para decodificar dados postados de formulários. Esta tag deve ser usada com codificações de caracteres diferentes de ISO-8859-1. A tag é obrigatória, pois a maioria dos navegadores não inclui um cabeçalho Content-Type em suas solicitações.

O propósito do <fmt:requestEncoding>tag é para especificar o tipo de conteúdo da solicitação. Você deve especificar o tipo de conteúdo, mesmo se a codificação da página que gera a resposta for especificada por meio do atributo contentType de uma diretiva de página. Isso ocorre porque a localidade real da resposta (e, portanto, a codificação de caracteres) pode ser diferente do valor especificado na diretiva da página.

Se a página contém um I18N-capable formatting action que define a localidade da resposta (e, portanto, a codificação de caracteres) chamando ServletResponse.setLocale(), qualquer codificação especificada na diretiva da página será substituída.

Exemplo

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

Você receberá o seguinte resultado -

Uno
Dos
Tres