struts2 验证框架、国际化
生活随笔
收集整理的這篇文章主要介紹了
struts2 验证框架、国际化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源:http://www.cnitblog.com/intrl/archive/2009/07/01/59762.html
在之前發表的?Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架 整合開發?的基礎上加入驗證框架和國際化,做法如下:
(一)驗證框架
1、在 LoginAction.java 的并列位置建立文件 LoginAction-validation.xml?
LoginAction-validation.xml
?2<!DOCTYPE?validators?PUBLIC?"-//OpenSymphony?Group//XWork?Validator?1.0.2//EN"?"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
?3<validators>
?4????<field?name="username">
?5????????<field-validator?type="requiredstring">
?6????????????<param?name="trim">true</param>
?7????????????<message>用戶名不能為空</message>
?8????????</field-validator>
?9????</field>
10????<field?name="password">
11????????<field-validator?type="requiredstring">
12????????????<param?name="trim">true</param>
13????????????<message>密碼不能為空</message>
14????????</field-validator>
15????</field>
16</validators> 2、效果截圖
(二)國際化
1、創建國際化資源文件
在com.test.action包下建立兩個包級別國際化資源文件package_en_US.properties和package_zh_CN.properties
package_en_US.properties
package_zh_CN.properties
2、LoginAction-validation.xml 驗證框架配置文件的修改,使用key屬性讀取國際化資源文件,若所讀取資源字段不存在則直接顯示key信息
?1<?xml?version="1.0"?encoding="UTF-8"?>
?2<!DOCTYPE?validators?PUBLIC?"-//OpenSymphony?Group//XWork?Validator?1.0.2//EN"?"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
?3<validators>
?4????<field?name="username">
?5????????<field-validator?type="requiredstring">
?6????????????<param?name="trim">true</param>
?7????????????<message?key="name.requried"></message>
?8????????</field-validator>
?9????</field>
10????<field?name="password">
11????????<field-validator?type="requiredstring">
12????????????<param?name="trim">true</param>
13????????????<message>${getText("pass.requried")}</message>
14????????</field-validator>
15????</field>
16</validators> 其中第7行和地13行為顯示國際化信息的兩種寫法,第13行的寫法要求applicationContext-actions.xml中對應bean要有scope屬性,否則會出錯!
3、運行結果截圖
瀏覽器字符編碼為英文時:
瀏覽器字符編碼為中文時:
4、applicationContext-actions.xml中bean——loginAction的配置scope="prototype"的作用:
strut2 的action在spring的配置文件中是單態的,所以每次返回的錯誤對象都是原來的!為了生成新的對象,在spring的配置文件中要加scope="prototype"。
根據以上第2點說明,我們先把LoginAction-validation.xml 中第13行改為 < message? key ="pass.requried" ></ message >
若去掉scope="prototype"屬性,則多次輸入錯誤時將發生如下結果:
總結
以上是生活随笔為你收集整理的struts2 验证框架、国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CICD简介[通俗易懂]
- 下一篇: struts2 表单回填与action里