<fmt:requestEncoding>
《fmt:requestEncoding》标记用于指定将数据发布回Web应用程序的表单使用的编码类型。
属性 (Attribute)
《fmt:requestEncoding》标记具有以下属性 -
属性 | 描述 | 需要 | 默认 |
---|---|---|---|
key | 解码请求参数时要应用的字符编码名称。 | Yes | None |
如果要指定用于解码从表单发布的数据的字符编码,请使用《fmt:requestEncoding》标记。 此标记必须与不同于ISO-8859-1的字符编码一起使用。 标记是必需的,因为大多数浏览器在其请求中不包含Content-Type标头。
《fmt:requestEncoding》标记的目的是指定请求的内容类型。 即使通过page指令的contentType属性指定了生成响应的页面的编码,也必须指定内容类型。 这是因为响应的实际区域设置(以及字符编码)可能与页面指令中指定的值不同。
如果页面包含支持I18N-capable formatting action ,该I18N-capable formatting action通过调用ServletResponse.setLocale()来设置响应的语言环境(以及字符编码),则将覆盖页面指令中指定的任何编码。
例子 (Example)
<%@ 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.iowiki.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>
您将收到以下结果 -
Uno
Dos
Tres