<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 標籤範例
一個
兩個
三個