freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

struts20第03章action(編輯修改稿)

2024-09-12 23:53 本頁面
 

【文章內(nèi)容簡介】 句*/ }看到這里就恍然大悟了,actionErrors和actionMessages實(shí)際是用Collection這個(gè)數(shù)據(jù)結(jié)構(gòu)存放的,fieldErrors則是用Map這個(gè)數(shù)據(jù)結(jié)構(gòu)存放的,所有Action對這三個(gè)變量的操作實(shí)際上都是間接的對這三個(gè)數(shù)據(jù)結(jié)構(gòu)的操作。以后用到這三個(gè)類的時(shí)候自然就有了經(jīng)驗(yàn)。 Action實(shí)例作為示例,我們在這里提供兩種不同功能Action的完全實(shí)現(xiàn),供讀者參考和練習(xí)。n 實(shí)現(xiàn)Action接口;n 繼承ActionSupport基類; 實(shí)現(xiàn)Action接口的實(shí)例這里我們使用Action完成一個(gè)有趣的應(yīng)用:由服務(wù)端動(dòng)態(tài)生成顏色代碼供客戶端顯示時(shí)使用,這樣在客戶端每一次刷新頁面的時(shí)候,文字的顏色就改變一次。下面詳細(xì)講解如何實(shí)現(xiàn)該應(yīng)用。為了實(shí)現(xiàn)這個(gè)應(yīng)用,我們需要編寫一個(gè)控制器、一個(gè)頁面以及與之對應(yīng)的配置文件,下面讓我們來一步一步的完成它。?xml version= encoding=UTF8?webapp id=WebApp_9 version= xmlns= xmlns:xsi= xsi:schemaLocation=:// displaynameStruts 2 First/displayname filter filternamestrutscleanup/filtername filterclass /filterclass /filter filtermapping filternamestrutscleanup/filtername urlpattern/*/urlpattern /filtermapping filter filternamestruts2/filtername filterclass /filterclass /filter filtermapping filternamestruts2/filtername urlpattern/*/urlpattern /filtermapping welefilelist welefile/welefile /welefilelist/webapp這個(gè)文件是所有Web應(yīng)用都要有的配置文件,但是對于不同的框架,實(shí)現(xiàn)的方法和語法是不盡相同的。 servlet規(guī)范的標(biāo)準(zhǔn)配置文件,所有的Java的Web開發(fā)項(xiàng)目都要配置文件,由此也可以看出,Struts2框架是作為一個(gè)過濾器來處理所有的Web請求的。從上面的配置文件可以看出,那么Struts2又是如何來處理這些請求的呢?。!DOCTYPE struts PUBLIC //Apache Software Foundation//DTD Struts Configuration struts constant name= value=true / package name=ActionDemo extends=strutsdefault action name=colorText class= result name=success type=velocity/result /action /package /struts這是Struts2的配置文件,它為Xwork2的工作方式進(jìn)行配置。分析這段配置文件可以看出,具體是怎么處理的,當(dāng)然就要看看對應(yīng)的源代碼是怎么編寫的了。package example。import 。public class ColorText implements Action{ private String randomRGB。 public String execute(){ int R=((int)(()*254+1))。 int G=((int)(()*254+1))。 int B=((int)(()*254+1))。 randomRGB=(R)+(G)+(B)。 return SUCCESS。 } public String getRandomRGB() { return randomRGB。 }}在控制器的代碼里面,首先生成了一個(gè)隨機(jī)的顏色RGB,并將其組合為對應(yīng)的RGB顏色的16進(jìn)制代碼,如果顏色生成成功,就返回成功執(zhí)行的代碼SUCCESS.代碼執(zhí)行到這里。,它的功能是為頁面提供隨機(jī)的顏色。這將會(huì)在后面的效果圖中看到。html head titleThis Page Generates Colorful Texts/title /head body font color=$randomRGB NanJing Foodbr /*省略正文部分*/ /font /body/html,顯示一些文本。代碼中加粗的部分,就是變色頁面的關(guān)鍵代碼,通過$randomRGB每一次刷新頁面都會(huì)從Action取得一個(gè)隨機(jī)的顏色,從而實(shí)現(xiàn)了頁面顏色的不斷變化。由于在視圖中使用了中文,必須做相應(yīng)的配置(即國際化的問題,在后面將會(huì)詳細(xì)介紹,這里就暫不介紹),設(shè)置對應(yīng)的配置文件: //velocity配置文件=GBK=GBK //Struts2配置文件=GBK最后,完成的應(yīng)用的文件層次結(jié)構(gòu)圖如下:圖31應(yīng)用的文件層次結(jié)構(gòu)在文件層次結(jié)構(gòu)圖中出現(xiàn)了我們未曾提到的test文件夾,這是對Action測試時(shí)留下的,與項(xiàng)目本身沒有關(guān)系。如果讀者的配置和文件都沒有錯(cuò)誤的話,執(zhí)行后應(yīng)該能得到這樣的一個(gè)結(jié)果:圖32 結(jié)果頁面如果讀者刷新頁面,那么將得到另一種顏色的文字:圖33 刷新后的頁面 實(shí)現(xiàn)ActionSupport基類的實(shí)例我們知道ActionSupport基類為用戶提供了很多的函數(shù)使得Action實(shí)現(xiàn)起來更上手,下面來看這樣一個(gè)例子:,然后頁面提示用戶輸入一個(gè)質(zhì)數(shù),如果輸入的是一個(gè)質(zhì)數(shù),ACTION會(huì)跳轉(zhuǎn)到成功頁面,如果不是,ACTION會(huì)添加錯(cuò)誤提示信息,并將頁面重定向到輸入頁面。下面具體分析這些源文件。%@ taglib uri=/strutstags prefix=s %!DOCTYPE HTML PUBLIC //W3C//DTD HTML Transitional//ENhtml head titleTHIS PAGE TESTS ACTIONSUPPORT CLASS/title /head body s:form action=prime s:textfield label=Please enter a Prime Number: name=number/ input type=submit/ /s:form /body/html界面使用了Struts2的標(biāo)簽會(huì)在后續(xù)章節(jié)中詳細(xì)闡述,這里textfield標(biāo)簽是一個(gè)文本輸入標(biāo)簽,它與常規(guī)的文本輸入域相比最大的優(yōu)點(diǎn)就是集成了錯(cuò)誤顯示功能。從頁面取得輸入的數(shù)據(jù)之后,需要對該數(shù)據(jù)進(jìn)行一些判斷,因此還需要編寫對應(yīng)的控制器primeAction。package example。import 。public class primeAction extends ActionSupport{ private int num。 private String number。 public String execute() { num=(number)。 if ( !IsPrimeNumber(num)) { addFieldError(number,You entered a non Prime)。 //如果不是質(zhì)數(shù)那么添加出錯(cuò)信息,并且返回 pause(INPUT)。 } i
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1