如何在JSP中指定表单向Web应用程序回发数据时使用的编码类型?
<fmt:requestEncoding>标签用于指定表单向Web应用程序回发数据时使用的编码类型。
属性
<fmt:requestEncoding>标签具有以下属性:
| 属性 | 描述 | 必填 | 默认值 |
|---|---|---|---|
| key | 解码请求参数时要应用的字符编码的名称。 | 是 | 无 |
当您想要指定用于解码从表单发布的数据的字符编码时,可以使用<fmt:requestEncoding>标签。此标签必须与不同于ISO-8859-1的字符编码一起使用。由于大多数浏览器在其请求中不包含Content-Type标头,因此此标签是必需的。
<fmt:requestEncoding>标签的目的是指定请求的内容类型。即使通过页面指令的contentType属性指定了生成响应的页面的编码,也必须指定内容类型。这是因为响应的实际语言环境(以及字符编码)可能与页面指令中指定的值不同。
如果页面包含一个支持国际化的格式化操作,该操作通过调用ServletResponse.setLocale()设置响应的语言环境(以及字符编码),则页面指令中指定的任何编码都将被覆盖。
示例
<%@ 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>您将收到以下结果:
Uno Dos Tres
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP