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

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)struts框架技術(shù)——第5章struts框架actionform組件及應(yīng)用第1部分(編輯修改稿)

2024-12-23 16:15 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 戶在登陸表單中的用戶名稱和用戶密碼兩個(gè)數(shù)據(jù)項(xiàng)目是否為空進(jìn)行 數(shù)據(jù)驗(yàn)證和檢查。并將產(chǎn)生的錯(cuò)誤信息保存到 ActionErrors 對(duì)象中以便能夠在頁面中顯示輸出錯(cuò)誤提示信息。 因?yàn)?validate()方法會(huì)傳回 ActionErrors 對(duì)象,而在 ActionErrors 中可以儲(chǔ)存各個(gè)不同的 ActionError 對(duì)象所代表的錯(cuò)誤信息,每一個(gè) ActionError 對(duì)象與資源字符串文件中的“ key”相對(duì)應(yīng)。一旦 validate()方法返回 ActionErrors 對(duì)象時(shí), ActionServlet 前端控制器組件就不會(huì)繼續(xù)進(jìn)行剩余的請(qǐng)求工作,而是根據(jù)在【例 53】中所示的 文件中 所設(shè)定的 action標(biāo)簽中的 input 屬性指示的請(qǐng)求頁面 URL 地址 而跳回到該頁面中(本示例為 頁面文件 )。 【例 53】 文件中 所設(shè)定的 action標(biāo)簽的代碼片段示例 action path=/userLogin type= name=userLoginForm scope=request validate=true input=/ forward name=loginSuccess path=// /action 注意: 為了能夠使用 validate()方法, action標(biāo)簽中的 validate 屬性必須設(shè)定為 true,而 input屬性也是必要的;當(dāng) validate()方法返回 ActionErrors 對(duì)象時(shí),就會(huì)跳轉(zhuǎn)到由 input 屬性所設(shè)定的 URL 地址所代表的目標(biāo)頁面;而 ActionErrors 對(duì)象中所封裝的錯(cuò)誤信息,可以在頁面中使用 html:errors/標(biāo)簽來顯示輸出。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 9/19 頁 5)利用 Action 組件類完成“數(shù)據(jù) 邏輯 ”檢查 的示例 而與具體業(yè)務(wù)邏輯功能相關(guān)的數(shù)據(jù)驗(yàn)證,如 兩個(gè)用戶的名稱是否同名、某個(gè)數(shù)據(jù)項(xiàng)目是否存在等“數(shù)據(jù)邏輯”方面的檢查則應(yīng)該放入 Action 組件類中來檢查 (因?yàn)?Action 代表對(duì)業(yè)務(wù)邏輯和流程的控制) 。【例 54】所示的代碼示例中對(duì)用戶請(qǐng)求的參數(shù)進(jìn)行“數(shù)據(jù)邏輯”方面的檢查,如果輸入的參數(shù)值為“ badperson”則意味著錯(cuò)誤,并產(chǎn)生出對(duì)應(yīng)的錯(cuò)誤提示信息(請(qǐng)注意其中的黑體部分的代碼)。 【例 54】 在 Action 組件類中 對(duì)請(qǐng)求數(shù)據(jù)進(jìn)行 檢查 的示例 public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws , { ActionErrors errors = new ActionErrors()。 HelloForm helloForm = (HelloForm)form。 String person = ()。 if((“badperson”)) { (person, new ActionError(,badPerson))。 saveErrors(request,errors)。 return new ActionForward(())。 } //。 Action 組件類中的 其他的功能代碼 ,在此省略 } 注意: 由于 Action 組件類中的 execute 方法的返回值并不是 ActionErrors 對(duì)象,因此必須將所產(chǎn)生的 ActionErrors 對(duì)象保存到 HttpServletRequest 對(duì)象中,在頁面中才能夠用 html:errors標(biāo)簽顯示輸出。希望讀者對(duì)比【例 51】和【例 54】在對(duì) ActionErrors 對(duì)象的處理方式方面的不同點(diǎn)。 數(shù)據(jù)驗(yàn)證中的錯(cuò)誤 信息包裝和 處理技術(shù) 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 10/19 頁 1) ActionError 和 ActionErrors 類 在 Struts 框架中對(duì)數(shù)據(jù)驗(yàn)證中的錯(cuò)誤提供了兩個(gè)不同的類進(jìn)行包裝 —— ActionError和 ActionErrors 類,其中的 ActionError 類封裝單個(gè)錯(cuò)誤消息,而 ActionErrors 是 ActionError 類的容器(集合),可以包裝一批錯(cuò)誤消息;并且 ActionErrors 和 ActionError類都是 ActionMessage 的子類, ActionError 存放在 ActionErrors 集合中。 2)創(chuàng)建 ActionError 對(duì)象 可以采用資源字符串文件中的“ key 名稱”來創(chuàng)建一個(gè) ActionError 對(duì)象,請(qǐng)見下面的代碼示例。然后再將該 ActionError 對(duì)象存儲(chǔ)到 ActionErrors 容器組件對(duì)象中。 ActionError error = new ActionError(“ key)。 3)在 JSP 頁面中可以使用 html:error獲得錯(cuò)誤信息并顯示輸出 html:errors 標(biāo)簽在 HttpServletRequest 和 HttpSession 范圍內(nèi)尋找ActionMessages 或者其子類 ActionErrors 集合對(duì)象,再?gòu)?ActionMessages 集合對(duì)象中讀取 ActionMessage 對(duì)象,把 ActionMessage 對(duì)象包含的消息文本顯示到具體的網(wǎng)頁上。 html:errors標(biāo)簽?zāi)軌蚋袷交仫@示 ActionMessage 對(duì)象所包含的錯(cuò)誤消息文本,而這些消息的文本預(yù)先存放在資源字符串文件中。如果在 html:errors標(biāo)簽中沒有設(shè)置property 屬性,將顯示 ActionMessages 對(duì)象中所有的錯(cuò)誤消息。 創(chuàng)建和多個(gè)表單相對(duì)應(yīng)的 ActionForm 由于 ActionForm組件 實(shí)際上就是一個(gè) JavaBean組件 ,它 包裝表示 層 頁面表單中的用戶請(qǐng)求的參數(shù)、并 用來在 表示 層和控制層 之間 傳遞 請(qǐng)求的表單中的 數(shù)據(jù) 。在常規(guī)的 Struts Web應(yīng)用系統(tǒng)的表示層開發(fā)中, 一般是 針對(duì)一個(gè) HTML 表單 設(shè)計(jì)出對(duì)應(yīng)的 ActionForm 組件,并在該 ActionForm組件類中定義出與請(qǐng)求的表單相匹配的成員屬性。 Struts 框架系統(tǒng)程序 利用 JavaBean 組件技術(shù)中 的自省 機(jī)制, 把 HTML 頁面 表 單請(qǐng)求 的數(shù)據(jù)保存下來 , 然后在 Action 組件類 中通過 ActionForm組件類 的一個(gè) 對(duì)象 實(shí)例 來 讀取這些請(qǐng)求 數(shù)據(jù) 。但常規(guī)的一個(gè)頁面表單對(duì)應(yīng)一個(gè) ActionForm組件類的實(shí)現(xiàn)方法,將會(huì)導(dǎo)致出現(xiàn)大量 的 ActionForm組件類。因?yàn)椋趯?shí)際的應(yīng)用系統(tǒng)中的表示層中會(huì)存在大量的表單。能否對(duì)此進(jìn)行優(yōu)化設(shè)計(jì)以減少 ActionForm 組件類的數(shù)量,而 創(chuàng)建和多個(gè)表單相對(duì)應(yīng)的ActionForm組件類呢?同時(shí)又如何區(qū)分不同的表單請(qǐng)求呢? 創(chuàng)建和多個(gè)表單相對(duì)應(yīng)的 ActionForm 組件類 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 11/19 頁 1)頁面中的表單與 ActionForm 組件類 之間的對(duì)應(yīng)關(guān)系 一般可以為每個(gè)表單提供一個(gè) 對(duì)應(yīng)的 ActionForm 組件類以產(chǎn)生 出 “ 一對(duì)一”的關(guān)系,當(dāng)然也可以為多個(gè)不同的表單提供一個(gè)共同的 ActionForm 組件類以產(chǎn)生 出 “多對(duì)一” 的關(guān)系。 如此設(shè)計(jì)的主要目的是減少 ActionForm 組件類的個(gè)數(shù),從而避免重復(fù)單調(diào)地編程get/set 方法。因?yàn)橐话阍诙鄠€(gè)表單中可能會(huì)有重復(fù)的數(shù)據(jù)項(xiàng)目一一如在用戶登錄表單和注冊(cè)表單中都包含有“用戶名稱”和“用戶密碼” 的數(shù)據(jù)項(xiàng)目。 2)所應(yīng)該 要 解決的 技術(shù) 問題 由于采用了“ 多個(gè)表單對(duì)應(yīng)同一個(gè) ActionForm 組件類 ”的設(shè)計(jì)方案,相應(yīng)地所帶來的問題是如何在 ActionForm 組件中識(shí)別當(dāng)前是那個(gè)頁面表單在產(chǎn)生請(qǐng)求提交,從而對(duì)與該請(qǐng)求表單相對(duì)應(yīng)的數(shù)據(jù)項(xiàng)目進(jìn)行檢查和訪問操作。否則將會(huì)出現(xiàn)頁面請(qǐng)求和后臺(tái)的數(shù)據(jù) 處理之間產(chǎn)生 出 關(guān)系混亂。 比如,如果現(xiàn)在用戶是在進(jìn)行登陸請(qǐng)求,那么就只應(yīng)該在 ActionForm 組件類的validate()方法中對(duì) userName 和 userPassWord 這樣的兩個(gè) 數(shù)據(jù)項(xiàng)目進(jìn)行錯(cuò)誤檢查,而不應(yīng)該對(duì)其他的數(shù)據(jù)項(xiàng)目如 confirmPassWord(確認(rèn)密碼)進(jìn)行錯(cuò)誤檢查。 3)解決的方法 通過在每個(gè)請(qǐng)求的頁面表單中放入一個(gè)隱藏( hidden)字段來標(biāo)識(shí)各個(gè)不同的表單類型,每當(dāng)某個(gè)表單請(qǐng)求后再根據(jù)該隱藏字段的值推斷出請(qǐng)求的頁面表單的類型。該方法的基本原理是在 HTML 的表單中應(yīng)用 html:hidden property=formType value=1/標(biāo)簽 ,并利用該標(biāo)簽中的 value 屬性 傳遞不同的數(shù)據(jù)值。因?yàn)椋慨?dāng)表單進(jìn)行提交時(shí),該隱藏字段的值也會(huì)傳遞到服務(wù)器端。然后只需要在服務(wù)器端的組件如 ActionForm 或者 Action 類中識(shí)別該字段的值,也就獲知是哪
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1