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