成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WebWork Action功能介紹

開發 后端
我們常說的WebWork action類,其實就是實現execute()方法的類,此方法返回一個 result code,控制器就是根據于此來實現控制的。

最近在學習《webwork in action》雖然能在網絡上下載到電子版,但是在書店看到了中文版紙制圖書,還是忍不住買了一本。隨便瀏覽了下,還是要比電子版本介紹的詳細的多,很多細節介紹,對實際的開發有很大的幫助。邊看書,邊寫程序,邊簡單記錄下筆記,方便以后查看。

本人使用的webwork 2.2.4 比圖書介紹的例子所使用的版本高,怕因為版本的原因會有不同的地方,因此,看一點,寫程序試試,這樣能加深了自己的印象。

前面的筆記中,有介紹webwork 的基本配置,這里就不多說了。此次主要介紹ActionSupport這個類的一些常用功能。我們常說的action類,其實就是實現execute()方法的類,此方法返回一個 result code,控制器就是根據于此來實現控制的。90%的action類現在都是繼承于ActionSupport 類,他幫助我們默認實現了很多功能。比如:action數據校驗,本地化信息等等。

Webwork Action實現了一套自己的視圖標簽,有很多的功能,能幫助我們輕松實現表單數據的校驗,個人感覺如果使用標簽的話,視圖中的入侵性太大,另外就是不利于團隊分工。既然webwork支持freemark這樣的模版,為什么不用呢?還是比較不錯的東西。

ActionSupport基類實現Validateable接口,里面就一個方法 public void validate();方法。如果你想實現后臺數據驗證,又沒有使用ww標簽,這個方法是個不錯的選擇。

我們看下沒有使用這個方法的execute()我們如何寫:給出關鍵代碼

  1. private String message;  
  2. private String name;  
  3. public String execute(){  
  4. if(name==null||"".endsWith(name)||  
  5. "World".endsWith(name)){  
  6. logger.info( “名稱錯誤!”);  
  7. return INPUT;  
  8. }  
  9. message="Hello,"+name+" !\n";  
  10. return SUCCESS;  
  11. }  

我們手工實現name字段的校驗,這樣也許沒甚么不好,一樣實現功能呀!

我們再看看重構后的代碼:

  1. private String message;  
  2. private String name;  
  3. public String execute(){  
  4. message="Hello,"+name+" !\n";  
  5. return SUCCESS;  
  6. }  
  7. public void validate(){  
  8. if(name==null||"".endsWith(name)||  
  9. "World".endsWith(name)){  
  10. addFieldError("name""myMessage");  
  11. logger.info( getText("myMessage"));  
  12. }  
  13. }  

代碼并沒有減少,只不過移了下位置,把數據驗證部分放到validate()方法中了。

在Webwork Action中,先執行validate()這個方法,如果校驗成功就繼續執行Webwork Action的其他部分,否則,返回 INPUT .

如果你關注ww 標簽,這里就介紹下 addFieldError("name", "錯誤信息提示!");方法。此方法會向你使用的標簽添加提示信息。輕松實現表單驗證的用戶提示。此方法必須和ww標簽一起使用效果才明顯,本人不怎么喜歡ww標簽,就不詳細介紹了。

另外一個常用的功能,本地信息的支持。ActionSupport中的 getLocale()會從瀏覽器的request header中獲得locale的值,從而調用語言配置文件。要想實現本地信息化顯示,就必須配置 *.properties 文件。還是上面的例子:

  1. public void validate(){  
  2. if(name==null||"".endsWith(name)||  
  3. "World".endsWith(name)){  
  4. addFieldError("name""myMessage");  
  5. logger.info("myMessage");  

我們設置了提示信息,如果要實現本地信息化,還要建立一個 className.properties的文件,此文件和類在同目錄下,內容如下:

myMessage=This is my message;

代碼增加一個getText()方法。

  1. public void validate(){  
  2. if(name==null||"".endsWith(name)||  
  3. "World".endsWith(name)){  
  4. addFieldError("name", getText("myMessage"));  
  5. logger.info( getText("myMessage"));  
  6. }  

如果你需要其他語言。只需要配置 className_*.properties 文件。這讓我想起來了軟件的漢化翻譯工作,常完游戲的朋友應該很熟悉。Webwork的翻譯工作是不是做的很周到呢。。。

 Jsp中還有常用幾個常用對象,比如:Session, Applaction等。我們常常就是根據Session來判斷用戶是否登陸過。

Webwork中,通過ActionContext來訪問。

  1. Map session=ActionContext.getContext().getSession();  
  2. session.put(“userName”,user); 

當然,get()方法就能把session取出來。

我們常用的數據基本就是這些,通過Webwork Action和模型中的對象,基本能實現對信息的填充,特別是視圖層。

Webwork實現的文件上傳功能,真是太簡單了。基于攔截器的實現方式,能讓我們輕松實現文件的上傳。

【編輯推薦】

  1. WebWork框架原理與應用(1)
  2. WebWork安裝和配置淺析
  3. WebWork文件上傳實現淺析
  4. WebWork中返回INPUT的原因
  5. WebWork如何實現文件上傳配置過程
責任編輯:冰荷 來源: csdn
相關推薦

2009-07-14 01:00:43

WebWorkActionConte

2011-07-08 11:19:51

jspaction

2009-07-14 00:15:52

Webwork Act

2009-07-06 15:31:42

JSP Action

2009-07-14 15:52:00

WebWork文件下載

2009-07-14 16:08:41

WebWork學習

2009-07-14 17:34:53

Webwork配置

2009-07-16 14:08:14

webwork配置

2009-07-16 16:51:56

WebWork驗證機制

2009-07-08 09:55:51

WebWork下載

2009-07-08 10:11:30

WebWork

2009-07-16 16:01:54

WebWork敏捷開發

2009-07-08 10:30:57

WebWork

2009-07-14 14:04:36

WebWork框架

2009-03-17 16:18:51

JspActionStruts

2009-07-09 15:55:18

WebWork配置文件

2009-07-14 17:53:11

WebWork安裝WebWork配置

2009-07-16 17:42:47

WebWork配置

2009-07-16 14:58:03

WebWork安裝WebWork配置

2009-07-16 16:27:26

Struts WebW
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄a在线观看 | 欧美性生活视频 | h视频免费在线观看 | av网站免费| 欧美αv| 色婷婷婷婷色 | 日韩在线| 国产精品视频免费观看 | 成人免费网站在线 | 人人看人人干 | 99精品久久久 | 国产a一区二区 | 亚州综合在线 | 中文在线播放 | 亚洲成人精品 | 欧美一区视频在线 | 国产亚洲精品久久久优势 | 欧美在线 | 午夜一级大片 | 久久久精品一区二区 | 狠狠插狠狠操 | 成人在线小视频 | 欧美激情在线精品一区二区三区 | 国产美女精品 | 日韩毛片免费看 | 国产成人短视频在线观看 | 欧美8一10sex性hd | 中文字幕一区二区三区乱码在线 | 国产精品一区二区三区在线 | 精品国产一区二区三区久久狼黑人 | 天天操夜夜骑 | 欧美一区二区三区四区五区无卡码 | 亚洲精品视频在线看 | 日韩一区二区在线看 | 亚洲一区视频在线 | 精品一区二区三区四区 | 每日更新av | 中文字幕亚洲无线 | 九九热这里只有精品在线观看 | 亚洲3p| 国产精品一区二区不卡 |