深入理解Struts2國際化信息機(jī)制
這兩天學(xué)習(xí)了Struts2國際化信息機(jī)制,感覺很重要,所以,今天添加一點(diǎn)小筆記。
國際化信息機(jī)制 (三種 Action范圍、 Package范圍、 全局)
1. 全局國際化配置信息文件
全局國際化文件,對所有Action 生效,任何程序都可以訪問到,需要在struts.xml 配置常量 struts.custom.i18n.resources指定信息文件
頁面product.jsp
<s:fielderror/> <form action="${pageContext.request.contextPath }/product_add.action" method="post"> 商品名:<input type="text" name="name"/><br/> 價(jià)格:<input type="password" name="price"/><br/> <input type="submit" value="登錄"/> </form>
編寫ProductAction
public class ProductAction extends ActionSupport { private static final long serialVersionUID = 1L; private String name; private double price; public String add(){ System.out.println(name+"---------"+price); return SUCCESS; /* get(),set()方法略去................. */ } }
添加校驗(yàn)信息:(對Action的方法進(jìn)行校驗(yàn) ProductAction-product_add-validation.xml
)
ProductAction-product_add-validation.xml
其中product_add
是Struts.xml中action標(biāo)簽中的name的值
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <!-- 校驗(yàn)商品 --> <field name="name"> <field-validator type="requiredstring"> <message key="wc"/> </field-validator> </field> </validators>
新建國際化信息文件 src
下 messages.properties
(默認(rèn)的國際化文件)
注意:
1. 其中<message key="wc"/>中的Key必須是messages.properties 的Key值
2.messages.properties 的value值必須裝換成Unicode碼, 使用myeclipse開發(fā)工具,內(nèi)置properties editor 自動(dòng)將中文轉(zhuǎn)換 Unicode碼
2. Action范圍國際化文件
在Action類 所在包 創(chuàng)建 Action類名.properties
(無需在struts.xml 配置 )
3. package范圍國際化文件
在package下面 建立 package.properties
(無需在struts.xml )
4. 在JSP頁面獲取
在國際化 messages.properties 添加一個(gè)信息
JSP頁面代碼:
<h1><s:i18n name="messages"> <s:text name="cn.wc"></s:text> </s:i18n></h1>
5. 在Action代碼獲取
在messages.properties 添加國際化信息
Action轉(zhuǎn)發(fā)的頁面JSP
<s:text name="welcome"> <s:param>lxp</s:param> </s:text>
Action代碼:
public class Product2Action extends ActionSupport { private static final long serialVersionUID = 1L; public String add(){ System.out.println(this.getText("welcome",new String[]{"Action"})); return SUCCESS; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Spring Boot實(shí)戰(zhàn)練習(xí)之單元測試篇
單元測試(unit testing),是指對軟件中的最小可測試單元進(jìn)行檢查和驗(yàn)證。對于單元測試中單元的含義,一般來說,要根據(jù)實(shí)際情況去判定其具體含義,如C語言中單元指一個(gè)函數(shù),Java里單元指一個(gè)類,圖形化的軟件中可以指一個(gè)窗口或一個(gè)菜單等2021-10-10Java如何獲取@TableField,@TableName注解的值
這篇文章主要介紹了Java如何獲取@TableField,@TableName注解的值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01使用Spring boot標(biāo)記一個(gè)方法過時(shí)
這篇文章主要介紹了使用Spring boot標(biāo)記一個(gè)方法過時(shí),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Java基于注解實(shí)現(xiàn)的鎖實(shí)例解析
這篇文章主要介紹了Java基于注解實(shí)現(xiàn)的鎖實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Spring中@PropertySource注解使用場景解析
這篇文章主要介紹了Spring中@PropertySource注解使用場景解析,@PropertySource注解就是Spring中提供的一個(gè)可以加載配置文件的注解,并且可以將配置文件中的內(nèi)容存放到Spring的環(huán)境變量中,需要的朋友可以參考下2023-11-11Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解
這篇文章主要介紹了Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解,消息回調(diào),其實(shí)就是消息確認(rèn)(生產(chǎn)者推送消息成功,消費(fèi)者接收消息成功) , 對于程序來說,發(fā)送者沒法確認(rèn)是否發(fā)送成功,需要的朋友可以參考下2023-07-07