日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WebWorkAction功能介紹

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

成都創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臨邑企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站臨邑網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

本人使用的webwork 2.2.4 比圖書介紹的例子所使用的版本高,怕因?yàn)榘姹镜脑驎?huì)有不同的地方,因此,看一點(diǎn),寫程序試試,這樣能加深了自己的印象。

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

Webwork Action實(shí)現(xiàn)了一套自己的視圖標(biāo)簽,有很多的功能,能幫助我們輕松實(shí)現(xiàn)表單數(shù)據(jù)的校驗(yàn),個(gè)人感覺如果使用標(biāo)簽的話,視圖中的入侵性太大,另外就是不利于團(tuán)隊(duì)分工。既然webwork支持freemark這樣的模版,為什么不用呢?還是比較不錯(cuò)的東西。

ActionSupport基類實(shí)現(xiàn)Validateable接口,里面就一個(gè)方法 public void validate();方法。如果你想實(shí)現(xiàn)后臺(tái)數(shù)據(jù)驗(yàn)證,又沒有使用ww標(biāo)簽,這個(gè)方法是個(gè)不錯(cuò)的選擇。

我們看下沒有使用這個(gè)方法的execute()我們?nèi)绾螌懀航o出關(guān)鍵代碼

 
 
 
  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( “名稱錯(cuò)誤!”);
  7. return INPUT;
  8. }
  9. message="Hello,"+name+" !\n";
  10. return SUCCESS;
  11. }

我們手工實(shí)現(xiàn)name字段的校驗(yàn),這樣也許沒甚么不好,一樣實(shí)現(xiàn)功能呀!

我們?cè)倏纯粗貥?gòu)后的代碼:

 
 
 
  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. }

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

在Webwork Action中,先執(zhí)行validate()這個(gè)方法,如果校驗(yàn)成功就繼續(xù)執(zhí)行Webwork Action的其他部分,否則,返回 INPUT .

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

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

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

我們?cè)O(shè)置了提示信息,如果要實(shí)現(xiàn)本地信息化,還要建立一個(gè) className.properties的文件,此文件和類在同目錄下,內(nèi)容如下:

myMessage=This is my message;

代碼增加一個(gè)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 文件。這讓我想起來了軟件的漢化翻譯工作,常完游戲的朋友應(yīng)該很熟悉。Webwork的翻譯工作是不是做的很周到呢。。。

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

Webwork中,通過ActionContext來訪問。

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

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

我們常用的數(shù)據(jù)基本就是這些,通過Webwork Action和模型中的對(duì)象,基本能實(shí)現(xiàn)對(duì)信息的填充,特別是視圖層。

Webwork實(shí)現(xiàn)的文件上傳功能,真是太簡單了?;跀r截器的實(shí)現(xiàn)方式,能讓我們輕松實(shí)現(xiàn)文件的上傳。


新聞名稱:WebWorkAction功能介紹
分享鏈接:http://m.5511xx.com/article/djojgoe.html