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

正文內(nèi)容

j2ee項目實訓(xùn)struts框架技術(shù)——第5章struts框架actionform組件及應(yīng)用第1部分-文庫吧資料

2024-11-25 16:15本頁面
  

【正文】 的幫助 。 } public void setFormType (String formType) { = formType。 if((“1”)){ //對用戶登陸表但中所涉及的 userName 和 userPassWord 的數(shù)據(jù)項目進行錯誤檢查 } //其他的代碼在此加以省略 return actionErrors。 【例 56】 對應(yīng)的 UserInfoForm 組件類的代碼 示例 public class UserInfoForm extends ActionForm { private String formType。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 12/19 頁 【例 55】 某個用戶登陸頁面表單 的示例 html:form action=/?action=goUserLogin method=post html:hidden property=formType value=1/ 請輸入用戶名稱: html:text property=userName /br/ 請輸入用戶密碼: html:password property=userPassWord / html:submit value=”提交 ” / /html:form 2)對應(yīng)的 UserInfoForm 組件類的代碼 本示例中的 UserInfoForm 組件是對用戶登陸、用戶注冊和用戶信息修改三種不同形式的表單進行統(tǒng)一的對象包裝。 實現(xiàn)的示例 1)某個用戶登陸頁面表單 為了對前面所描述的設(shè)計思想加以具體的實現(xiàn),在 【例 55】 中給出了一個 用戶登陸頁面表單 的示例。因為,每當(dāng)表單進行提交時,該隱藏字段的值也會傳遞到服務(wù)器端。 3)解決的方法 通過在每個請求的頁面表單中放入一個隱藏( hidden)字段來標(biāo)識各個不同的表單類型,每當(dāng)某個表單請求后再根據(jù)該隱藏字段的值推斷出請求的頁面表單的類型。否則將會出現(xiàn)頁面請求和后臺的數(shù)據(jù) 處理之間產(chǎn)生 出 關(guān)系混亂。因為一般在多個表單中可能會有重復(fù)的數(shù)據(jù)項目一一如在用戶登錄表單和注冊表單中都包含有“用戶名稱”和“用戶密碼” 的數(shù)據(jù)項目。能否對此進行優(yōu)化設(shè)計以減少 ActionForm 組件類的數(shù)量,而 創(chuàng)建和多個表單相對應(yīng)的ActionForm組件類呢?同時又如何區(qū)分不同的表單請求呢? 創(chuàng)建和多個表單相對應(yīng)的 ActionForm 組件類 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 11/19 頁 1)頁面中的表單與 ActionForm 組件類 之間的對應(yīng)關(guān)系 一般可以為每個表單提供一個 對應(yīng)的 ActionForm 組件類以產(chǎn)生 出 “ 一對一”的關(guān)系,當(dāng)然也可以為多個不同的表單提供一個共同的 ActionForm 組件類以產(chǎn)生 出 “多對一” 的關(guān)系。但常規(guī)的一個頁面表單對應(yīng)一個 ActionForm組件類的實現(xiàn)方法,將會導(dǎo)致出現(xiàn)大量 的 ActionForm組件類。在常規(guī)的 Struts Web應(yīng)用系統(tǒng)的表示層開發(fā)中, 一般是 針對一個 HTML 表單 設(shè)計出對應(yīng)的 ActionForm 組件,并在該 ActionForm組件類中定義出與請求的表單相匹配的成員屬性。如果在 html:errors標(biāo)簽中沒有設(shè)置property 屬性,將顯示 ActionMessages 對象中所有的錯誤消息。 3)在 JSP 頁面中可以使用 html:error獲得錯誤信息并顯示輸出 html:errors 標(biāo)簽在 HttpServletRequest 和 HttpSession 范圍內(nèi)尋找ActionMessages 或者其子類 ActionErrors 集合對象,再從 ActionMessages 集合對象中讀取 ActionMessage 對象,把 ActionMessage 對象包含的消息文本顯示到具體的網(wǎng)頁上。然后再將該 ActionError 對象存儲到 ActionErrors 容器組件對象中。 數(shù)據(jù)驗證中的錯誤 信息包裝和 處理技術(shù) 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 10/19 頁 1) ActionError 和 ActionErrors 類 在 Struts 框架中對數(shù)據(jù)驗證中的錯誤提供了兩個不同的類進行包裝 —— ActionError和 ActionErrors 類,其中的 ActionError 類封裝單個錯誤消息,而 ActionErrors 是 ActionError 類的容器(集合),可以包裝一批錯誤消息;并且 ActionErrors 和 ActionError類都是 ActionMessage 的子類, ActionError 存放在 ActionErrors 集合中。 Action 組件類中的 其他的功能代碼 ,在此省略 } 注意: 由于 Action 組件類中的 execute 方法的返回值并不是 ActionErrors 對象,因此必須將所產(chǎn)生的 ActionErrors 對象保存到 HttpServletRequest 對象中,在頁面中才能夠用 html:errors標(biāo)簽顯示輸出。 return new ActionForward(())。 if((“badperson”)) { (person, new ActionError(,badPerson))。 HelloForm helloForm = (HelloForm)form?!纠?54】所示的代碼示例中對用戶請求的參數(shù)進行“數(shù)據(jù)邏輯”方面的檢查,如果輸入的參數(shù)值為“ badperson”則意味著錯誤,并產(chǎn)生出對應(yīng)的錯誤提示信息(請注意其中的黑體部分的代碼)。 【例 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 對象時,就會跳轉(zhuǎn)到由 input 屬性所設(shè)定的 URL 地址所代表的目標(biāo)頁面;而 ActionErrors 對象中所封裝的錯誤信息,可以在頁面中使用 html:errors/標(biāo)簽來顯示輸出。 因為 validate()方法會傳回 ActionErrors 對象,而在 ActionErrors 中可以儲存各個不同的 ActionError 對象所代表的錯誤信息,每一個 ActionError 對象與資源字符串文件中的“ key”相對應(yīng)。 在前面的【例 51】中所示的 UserLoginForm 組件類中的 validate 方法 ,主要 實現(xiàn)對用戶在登陸表單中的用戶名稱和用戶密碼兩個數(shù)據(jù)項目是否為空進行 數(shù)據(jù)驗證和檢查。比如表單中的某個項目的輸入不能為空、 Email 格式是否正確或者判斷用戶名、密碼長度是否在規(guī)定的范圍內(nèi)等 方面的檢查,利用 ActionForm 組件類中的 validate()方法可以很輕松地完成這些“數(shù)據(jù)形式”的檢查工作。因為客戶可能會利用可以免費得到的一些攻擊工具軟件,或者通過命令行很容易地模擬類似瀏覽器的請求行為來侵入到應(yīng)用系統(tǒng)中。因此,在應(yīng)用系統(tǒng)用戶請求參數(shù)的驗證實現(xiàn)方面應(yīng)盡可能采用服務(wù)器端的數(shù)據(jù)驗證方法而減少使用客戶端的數(shù)據(jù)驗證方法(如使用 JavaScript 腳本編程實現(xiàn))。為了能夠保證在業(yè)務(wù)處理層組件中能夠獲得正確的數(shù)據(jù)值,必須對用戶表單中所請求的各個數(shù)據(jù)項目進行合法性地檢查和 驗證 。 Integer userAge=()。 } 而在對應(yīng)的頁面表單中 可以 繼續(xù)采用標(biāo)準(zhǔn)的方式來 引用 userAge—— 如 html:text property=userAge/。 public String getUserAge{ return userAge。 下面的代碼片段為在代表某個用戶信息的 ActionForm 組件類中所定義的一個代表用戶年齡的成員屬性 userAge 的幫助方法 getUserAgeInteger,利用該幫助方法 getUserAgeInteger 將字符串類型的年齡值轉(zhuǎn)換為 Integer 類型的年齡值(當(dāng)然也可以轉(zhuǎn)換為 int 整型)。如果試圖在 ActionForm 中 采用 這樣 的 重載 方法 ,ActionServlet 組件將在 自動組裝 表單中的請求參數(shù)時 就會拋出異常。 但在 實際 的 應(yīng)用中 ,后臺的業(yè)務(wù)處理功能組件中可能是需要其他數(shù)據(jù)類型的數(shù)據(jù) —— 如 轉(zhuǎn)換為業(yè)務(wù)層 中所 需要的 基本 類型 的數(shù)據(jù)。因此,可以將 應(yīng)用系統(tǒng) 中 的消息轉(zhuǎn)移(或者說狀態(tài)轉(zhuǎn)移)的非持久性數(shù)據(jù)存儲 由 ActionForm 組件承擔(dān) 。 //其他的代碼在此加以省略 } 讀者如果熟悉標(biāo)準(zhǔn)的 Servl
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1