<fmt:requestEncoding>標(biāo)簽用來指定返回給Web應(yīng)用程序的表單編碼類型。
<fmt:requestEncoding value="<string>"/>
<fmt:requestEncoding>標(biāo)簽有如下屬性:
屬性 | 描述 | 是否必要 | 默認(rèn)值 |
---|---|---|---|
key | 字符編碼集的名稱,用于解碼request參數(shù) | 是 | 無 |
使用<fmt:requestEncoding>標(biāo)簽來指定字符集,用于解碼來自表單的數(shù)據(jù)。在字符集不是ISO-8859-1時(shí)必須使用這個(gè)標(biāo)簽。由于大多數(shù)瀏覽器在它們的請(qǐng)求中不包含Content-Type頭,所以需要這個(gè)標(biāo)簽。
<fmt:requestEncoding>標(biāo)簽的目的就是用來指定請(qǐng)求的Content-Type。您必須指定一個(gè)Content-Type,就算response是通過Page指令的contentType屬性來編碼。這是因?yàn)閞esponse的實(shí)際區(qū)域可能與Page指令所指定的不同。
如果頁面包含 I18N-capable格式行為用于設(shè)置response的locale屬性(通過調(diào)用ServletResponse.setLocale()方法),任何在頁面中指定的編碼集將會(huì)被覆蓋。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ 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 標(biāo)簽</title> </head> <body> <fmt:requestEncoding value="UTF-8" /> <fmt:setLocale value="es_ES"/> <fmt:setBundle basename="com.nhooo.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>
運(yùn)行結(jié)果如下:
Uno Dos Tres