jstl <fmt:setBundle>標籤

2019-10-16 22:12:14

<fmt:setBundle>標籤用於載入資源包,並將其儲存在命名作用域變數或包組態變數中。

屬性

<fmt:setBundle>標籤具有以下屬性 -

屬性 描述 必需 預設
basename 作為範圍或組態變數公開的資源系結包系列的基本名稱 en_US
var 用於儲存新綑綁包的變數的名稱 替換預設值
scope 儲存新綑綁包的變數的範圍 page

範例

下面定義一個資源綑綁包如下 -

檔案:Example_Cn.java -

package com.yiibai;

import java.util.ListResourceBundle;

public class Example_Cn extends ListResourceBundle {
    public Object[][] getContents() {
        return contents;
    }

    static final Object[][] contents = { { "count.one", "一個" }, { "count.two", "兩個" }, { "count.three", "三個" }, };
}

下面是顯示JSP頁面的程式碼 -

檔案:fmt_setLocale.jsp

<%@ 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:setBundle標籤</title>
</head>

<body>
    <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 />
</body>
</html>

編譯上述的Example_Cn,程式碼執行結果如下 -