用于支持國際化和本地化開發的標簽包括::用于設置當前本地化環境,其實為對應的Java類javax.servlet.jsp.jstl.fmt.locale配置參數值,這個指定的參數由JSP運行時維護,用于確定各個JSTL標記使用的本地化環境。?:指定消息資源使用的文件。" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JSTL-FMT國際化標簽

系統 1861 0

JSP頁面引入:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

?

用于支持國際化和本地化開發的標簽包括:?
????? <fmt:setLocale>:用于設置當前本地化環境,其實為對應的Java類javax.servlet.jsp.jstl.fmt.locale
配置參數值,這個指定的參數由JSP運行時維護,用于確定各個JSTL標記使用的本地化環境。???

????? <fmt:bundle>:指定消息資源使用的文件。?
????? <fmt:message>:顯示消息資源文件中指定key的消息,支持帶參數消息。???

????? <fmt:param>:給帶參數的消息設置參數值。???

????? <fmt:setBundle>:設置消息資源文件。

?

??? 1.<fmt:setLocale>

??????? <fmt:setLocale>標簽用于設置當前本地化環境。

??????? 使用格式如下:?
??????????? <fmt:setLocale?value="...locale?value..."?[variant="...?variant?value..."]

??????????????????[scope="page|request|session|application"]?/>

??????? 參數:

??????????? value:這個屬性是必須要設置的,它用來設置本地化環境名,例如en_US或者zh_HK。???

??????????? variant:這個屬性設置是可選的,而且很少使用,?
??????????? scope:即指定value設置的本地化環境名所在的有效范圍,默認值為page,即本頁面。如果把
???????????????????????? scope設置為session,則表示同一個用戶發出的所有請求都有相同的本地化環境。

??? 2.<fmt:bundle>

??????? 使用格式一般如下:?
??????????? <fmt:bundle?basename=”…the?bundle’s?base?name”?[prefix=”…prefix?name…”]?>?
??????????????? <fmt:message?key=”…key?name…”?/>?

??????????? </fmt:bundle>

??????? 參數:

??????????? Basename:資源文件的基名,例如資源文件Res_zh_CN.property,則基名為Res。?
??????????? Prefix:這一設置是可選的,如果指定這個屬性,就會為標簽體中的嵌套的<fmt:message>標簽
??????????????????????? 附加了一個前綴。

??????? 說明:

??????????? 當<fmt:bundle>標簽體中嵌套<fmt:message>標簽時,這時<fmt:message>標簽默認就是使用<fmt:bundle>標簽中basename所指定的資源文件

???

??? 3.<fmt:message>

??????? 用于顯示本地化的文本,它通過key屬性來取得資源文件中相應的消息。

??????? 使用格式如下:?
??????????? <fmt:message?key=”…name?of?property…”?[bundle=”…resourceBundle…”]?

?????????????????? [var=”…variable?name…”]?[scope=”…scope?of?var…”]?/>?

??????? 參數:

??????????? key:用于查找資源文件中相應的關鍵字名,它對應著一條特定的消息。?
??????????? bundle:如果設置了這個屬性,就會使用這個屬性指定的資源文件。否則若嵌套在<fmt:bundle>
標簽中,就會直接使用<fmt:bundle>標簽中basename屬性指定的資源文件。???

??????????? var:如果指定這個屬性,則把取出的消息字符串存儲在這個變量當中。?
??????????? scope:這個屬性指定了var設置變量所在的有效范圍,默認為page,有可以設置為session。

???

??? 4.<fmt:setBundle>

??????? 用于設置一個資源文件,并給定一個標記,以便可以通過在<fmt:message>標簽中指定bundle屬性值來取得這個資源文件中的消息。

??????? 使用的格式如下:?
??????????? <fmt:setBundle?basename=”…the?bundle’s?base?name…”?var=”?…var?name…”?

????????????????????? [scope=”page|request|session|application”]?/>

??????? 參數:

??????????? basename:該屬性與<set:bundle>標簽中的basename屬性類似。?
??????????? var:給指定的資源文件取一個變量名,以便<fmt:message>標簽可以通過這個變量名來讀取該資
源文件中消息。?
??????????? scope:設置var屬性所指定變量的有效范圍。?

??????? 該標簽與<fmt:bundle>標簽功能相類似,只是<fmt:bundle>標簽一般在體中嵌套使用<fmt:message>,而<fmt:setBundle>標簽用來先定義一個資源文件,并給它指定一個變量,以便在后面通過這個變量來單獨使用<fmt:message>標簽獲取資源文件中的消息。

?

??? 5.<fmt:param>

??????? 該標簽一般和<fmt:message>標簽配套使用,用來給獲取的消息中插入一個值。

??????? 使用格式如下:?
??????????? <fmt:message?…>?
??????????????? <fmt:param?value=”?value”?/>?

??????????? </fmt:message>?

?

??? 6.實例

???????

      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page language="java" import="test.jstl.Test"%>
<html>
<head>
<title>JSTL 國際化標簽</title>
</head>
<body>
	<c:if test="${param.locale!=null}">
		<c:set var="locale" value="${param.locale}" />
		<fmt:setLocale value="${locale }" />
	</c:if>
	<form action="jstl_i18n.jsp">
		<select name="locale">
			<option value="zh_CN">中文</option>
			<option value="en_US" 
			<c:if test="${locale=='en_US'}">
				selected="selected"
			</c:if>>英文</option>
		</select> 
		<input type="submit" value="設置" />
	</form>

	<fmt:bundle basename="res.jstl.app">
		<fmt:message var="male" key="male"></fmt:message>
		<fmt:message var="female" key="female"></fmt:message>
	</fmt:bundle>
	<fmt:setBundle var="bundle" basename="res.jstl.res" />

	<fmt:bundle basename="res.jstl.app">
		<fmt:message key="msg">
			<fmt:param value="張三"></fmt:param>
			<fmt:param value="${male}"></fmt:param>
		</fmt:message>
	</fmt:bundle>
	<br />
	<fmt:message key="chinese" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="100"></fmt:param>
	</fmt:message>
	<fmt:message key="math" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="95"></fmt:param>
	</fmt:message>
	<fmt:message key="english" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="98"></fmt:param>
	</fmt:message>

	<hr />

	<fmt:bundle basename="res.jstl.app">
		<fmt:message key="msg">
			<fmt:param value="李四"></fmt:param>
			<fmt:param value="${female}"></fmt:param>
		</fmt:message>
	</fmt:bundle>
	<br />
	<fmt:message key="chinese" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="95"></fmt:param>
	</fmt:message>
	<fmt:message key="math" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="99"></fmt:param>
	</fmt:message>
	<fmt:message key="english" bundle="${bundle}" />
	<fmt:message key="results" bundle="${bundle}">
		<fmt:param value="99"></fmt:param>
	</fmt:message>
</body>
</html>
    

?資源文件:

      //app_en_US.properties
female = female
male = male
msg = Name {0}, sex {1}.

//app_zh_CN.properties
female = 女
male = 男
msg = 姓名 {0},性別 {1}。

//res_en_US.properties
chinese = Chinese
english = English
math = Math
results = Results is {0}.

//res_zh_CN.properties
chinese = 語文
english = 英語
math = 數學
results = 成績為 {0}。
    

?

輸出:


JSTL-FMT國際化標簽
?
JSTL-FMT國際化標簽
?

?

???

???????

?

?

JSTL-FMT國際化標簽


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 陆河县| 永兴县| 巫溪县| 新田县| 通榆县| 凉山| 东光县| 若羌县| 铜川市| 山阴县| 扶风县| 临高县| 闽侯县| 华亭县| 河池市| 文登市| 乌鲁木齐市| 德清县| 绵阳市| 尼勒克县| 佛冈县| 高陵县| 新河县| 丹东市| 郸城县| 荣昌县| 囊谦县| 漳州市| 常熟市| 大理市| 游戏| 海晏县| 辛集市| 山阴县| 佛教| 宁陵县| 齐齐哈尔市| 鄂州市| 青河县| 阿克苏市| 徐汇区|