国产在亚洲线视频观看,国产亚洲精品无码拍拍拍色欲,heyzo亚洲精品日韩http://www.tkk7.com/cometlj/多學(xué),多用,技術(shù)才能長進(jìn)zh-cnSun, 11 May 2025 05:52:41 GMTSun, 11 May 2025 05:52:41 GMT60關(guān)于Struts2中visitor校驗(yàn)器的解決方法http://www.tkk7.com/cometlj/archive/2009/01/04/249760.htmlcometljcometljSun, 04 Jan 2009 08:49:00 GMThttp://www.tkk7.com/cometlj/archive/2009/01/04/249760.htmlhttp://www.tkk7.com/cometlj/comments/249760.htmlhttp://www.tkk7.com/cometlj/archive/2009/01/04/249760.html#Feedback2http://www.tkk7.com/cometlj/comments/commentRss/249760.htmlhttp://www.tkk7.com/cometlj/services/trackbacks/249760.html 

   記得開始的時(shí)候,學(xué)習(xí)Struts2中的輸入校驗(yàn),就對Vistor校驗(yàn)器情有獨(dú)鐘。首先,一般我們在提交表單的時(shí)候,對表單的各字段就要有校驗(yàn)的過程,實(shí)際部署過程中要分 客戶端校驗(yàn) 和服務(wù)器端校驗(yàn)。 客戶端校驗(yàn)使用rapid validation等第三方客戶端校驗(yàn)框架就可以實(shí)現(xiàn),而且比Struts2本身自帶的客戶端校驗(yàn)方式更好,但服務(wù)器端校驗(yàn)卻可以分為好幾種:

 

 

1.如果在Action中只有一個(gè)處理邏輯的話,可以重寫ActionSupport中的validate()方法。

 

2.如果在Action中存在多個(gè)類似于execute的處理邏輯的話,我們可以重寫validateXxx()方法(Xxx為不同的處理邏輯名稱,例如有validateRegist()方法,就是處理Regist業(yè)務(wù)邏輯)

 

3.編寫對應(yīng)于Action的validate 的xml文件。這個(gè)應(yīng)該是最為常用的一種解決方案了,但是有一個(gè)問題,Action眾多,或者在Action中有多個(gè)對應(yīng)一個(gè)或多個(gè)POJO的處理邏輯,那么這些xml文件就會隨著Action文件和處理邏輯的增加而相應(yīng)的增加,這顯然不是個(gè)好的現(xiàn)象。  所以如果只是針對POJO來寫相應(yīng)的validate xml文件,無疑會好很多。  這就是Visitor校驗(yàn)器的功用了。

 

     很多和我一樣的初學(xué)者可能手邊都有一般李剛寫的 《Struts 2 權(quán)威指南》,里面正好講了visitor校驗(yàn)器,但是我照著書上講的步驟重復(fù)做了N次都沒有正確,于是乎在網(wǎng)上搜索了相關(guān)的文章,最后終于發(fā)現(xiàn)書上沒有講完整  (P280-P281)

 

以下我來舉個(gè)例子:

 

  我建立了一個(gè)User的POJO,處理邏輯為UserAction, 測試頁面為login.jsp

login.jsp

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6     <head>
 7         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8         <title>用戶登錄頁面</title>
 9         <link href="utils/css/public.css" type="text/css" rel="stylesheet" />                
10     </head>
11     <body>        
12     <div id="all">
13         <div id="header">header</div>
14         <div id="content">
15         <s:form action="pro_login.do">
16             <s:textfield name="user.username" label="用戶名稱" />
17             <s:password name="user.userpwd" label="登錄密碼" />
18             <s:submit value="登 錄" />
19         </s:form>    
20         </div>
21         <div id="footer">footer</div>
22     </div>            
23     </body>
24 </html>

那么我的Visitor校驗(yàn)器為
UserAction-validation.xml

 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="user">
 5         <field-validator type="visitor">
 6             <param name="context">userContext</param>
 7             <param name="appendPrefix">true</param>
 8             <message></message>
 9         </field-validator>
10     </field>
11 </validators>

 

 -------------------------------------------------------------------

(注:context參數(shù)可以隨便設(shè)置,只要保持一致就可以了)

 -------------------------------------------------------------------


User-userContext-validation.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
 3  "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
 4 <validators>
 5     <field name="username">
 6         <field-validator type="requiredstring">
 7             <message>請輸入用戶名稱</message>
 8         </field-validator>
 9     </field>
10     <field name="userpwd">
11         <field-validator type="requiredstring">
12             <message>請輸入密碼</message>
13         </field-validator>        
14     </field>       
15 </validators>
16 



其中context參數(shù)將作為驗(yàn)證User類屬性的文件名的一部分,如user屬性返回一個(gè)User對象,那么用于驗(yàn)證User對象屬性的文件名為User-abc-validation.xml

      這個(gè)文件要和User.class文件在同一個(gè)目錄中。也就是要放到你的POJO文件相同的目錄路徑下,不然的話Visitor校驗(yàn)器就不會起作用。

     這個(gè)就是李剛老師沒有寫全的地方,附加個(gè)項(xiàng)目截圖就更為清楚了。



 

 



 這樣的話,Visitor校驗(yàn)器就起作用了。

 

 

 

 

 

 

 

 



 



cometlj 2009-01-04 16:49 發(fā)表評論
]]>
主站蜘蛛池模板: 亚洲av永久无码精品天堂久久| 亚洲精品乱码久久久久久久久久久久| 亚洲高清不卡视频| 亚洲一区免费观看| 亚洲精品天天影视综合网| 免费福利电影在线观看| 亚洲AV日韩精品久久久久| 久久免费动漫品精老司机| 精品亚洲麻豆1区2区3区| 18禁男女爽爽爽午夜网站免费| 亚洲成在人线电影天堂色| 曰曰鲁夜夜免费播放视频| 激情综合亚洲色婷婷五月APP| 成人毛片手机版免费看| 在线观看亚洲网站| 亚洲一区二区三区自拍公司| 免费观看在线禁片| 亚洲最大免费视频网| 性感美女视频在线观看免费精品| 亚洲美国产亚洲AV| 亚洲视频在线免费| 免费观看一区二区三区| 亚洲一区二区三区高清视频| 在线观看免费污视频| 亚洲天堂免费在线视频| 亚洲成A人片在线观看WWW| 最近中文字幕高清免费中文字幕mv| 国产成人精品亚洲2020| 亚洲精品国产高清不卡在线| 久久国产乱子伦精品免费强| 亚洲综合伊人制服丝袜美腿| 亚洲高清无码在线观看| 99re视频精品全部免费| 亚洲精品乱码久久久久久V| 激情综合色五月丁香六月亚洲| 99视频在线看观免费| 亚洲精品国产第一综合99久久| 在线观看亚洲精品国产| 午夜福利不卡片在线播放免费| 黄色毛片免费在线观看| 久久精品国产亚洲AV电影 |