jstl <fmt:requestEncoding>標籤

2019-10-16 22:12:20

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