<fmt:requestEncoding>
标签用于指定将数据发回到Web应用程序的请求表单使用的编码类型。
属性
<fmt:requestEncoding>
标签具有以下属性 -
属性 | 描述 | 必需 | 默认 |
---|---|---|---|
key |
解码请求参数时要应用的字符编码的名称。 | 否 | — |
当要指定用于解码从表单发送的数据的字符编码时,可以使用<fmt:requestEncoding>
标签。该标签必须与不同于ISO-8859-1
的字符编码一起使用。该标记是必需的,因为大多数浏览器在其请求中不包含Content-Type
标头。
<fmt:requestEncoding>
标签的目的是指定请求的内容类型,所以必须指定内容类型,即使通过page
指令的contentType
属性指定生成响应的页面的编码。这是因为响应的实际区域设置(因此字符编码)可能与page
指令中指定的值不同。
如果页面包含通过调用ServletResponse.setLocale()
设置响应的区域设置(从而字符编码)的I18N
格式化操作,则page
指令中指定的任何编码都将被覆盖。
示例
下面是JSP页面的代码。文件:fmt_requestEncoding.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fmt:message标签示例</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<h2>fmt:message标签示例</h2>
<fmt:setLocale value="zh_cn" />
<fmt:setBundle basename="com.yiibai.Example_Cn" 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 />
</div>
</body>
</html>
运行上述项目代码,得到以下结果如下 -
fmt:requestEncoding 标签示例
一个
两个
三个