欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
struts2學(xué)習筆記(6)——輸入校驗(2)

上次做了一個(gè)簡(jiǎn)單的驗證示例,但是你會(huì )發(fā)現,每次提交后,數據就沒(méi)了,如果某一項輸入錯誤會(huì )導致整個(gè)表單都得重填,這是一件非??植赖氖?。

要實(shí)現提交后數據還保留,可以使用兩種方法來(lái)實(shí)現。

記住,struts2是基于請求轉發(fā)的。

可以通過(guò)在表單中指定輸入框的value來(lái)實(shí)現,<input type="text" name="username"

value="${requestScope.username}" />

前面已經(jīng)提到,struts2是基于請求轉發(fā)的,所以可以獲得之前輸入的數據。

第二種方法就是用struts2的標簽庫。

<s:form action="register">
    <s:textfield name="username" label="username"></s:textfield>
    <s:password name="password" label="password"></s:password>
    <s:password name="repassword" label="re-password"></s:password>
    <s:textfield name="age" label="age"></s:textfield>
    <s:textfield name="birthday" label="birthday"></s:textfield>
    <s:textfield name="graduation" label="graduation"></s:textfield>
    <s:submit value=" submit "></s:submit>
</s:form>

但是輸入如下信息時(shí),顯示效果如圖所示 


 

顯然這種效果并不好,struts2提供了自定義主題的功能,即在標簽中增加屬性theme="simple"
如:

<s:textfield name="username" label="username" theme="simple" ></s:textfield>

也可以放在form標簽中,那么整個(gè)表單將采用此樣式,然后就可以把這些標簽放在表格中。

至于錯誤信息可以放在action級別的error中。

即在validate方法中,將驗證錯誤信息通過(guò)addActionError顯示出來(lái),此方法只接受一個(gè)參數,即出錯的信息。

struts2 默認表單中只能顯示fielderror,為此,要將出錯信息顯示出來(lái),必須在頁(yè)面中新增加一個(gè)標簽,即<s:actionerror />

可以在此增加樣式。實(shí)際上現階段學(xué)到的標簽都可以加樣式,CssStyle和CssClass.

通過(guò)查看源代碼可以發(fā)現,

FieldError是一個(gè)map
actionError是Collection(實(shí)際上是一個(gè) arraylist)

如何在一個(gè)action封裝多個(gè)業(yè)務(wù)邏輯呢?

可以在struts.xml的action中增加一個(gè)屬性,method="XXX"

即會(huì )調用action的XXX方法,而不是execute方法。

既然有不同的業(yè)務(wù)邏輯(方法),那么不可能使用同一驗證方法。因此要實(shí)現不同的方法的驗證,即生成驗證方法validateXXX(XXX第一個(gè)大寫(xiě))

如,在action中增加業(yè)務(wù)邏輯Test,那么就得在struts.xml中做如下修改:
    <action name="register2" class="cn.tshining.action.RegisterAction" method="Test">
        <result name="success">/success.jsp</result>
        <result name="input">/register2.jsp</result>
    </action>

    再把jsp頁(yè)面的action改為register2即可。

那么再來(lái)看看工作流程:

首先struts2攔截用戶(hù)請求,然后轉發(fā)到相應的action,調用validateXXX方法,然后調用 validate方法,當無(wú)錯時(shí)執行XXX方法。

這樣以來(lái)便會(huì )調用兩次驗證方法,但是這樣也不符合要求,要如何解決??

有兩種方法:
    1.不override 父類(lèi)的validate,因為父類(lèi)的validate方法時(shí)什么也不做的。
    2.將validate改名,由上面得知,可以將其改成validateExecute。

如此一來(lái),便不會(huì )調用2個(gè)驗證方法了。

第2種方法實(shí)際上還是會(huì )執行父類(lèi)的validate,只不過(guò)是什么也不做罷了。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Struts2 參數 表單 提交 對象 POJO 方法大全_J2EE / Just let...
struts2動(dòng)態(tài)方法調用
Struts2 繼承ActionSupport的用處
Struts2中jsp前臺傳值到action后臺的三種方式
Struts2框架驗證
struts2頁(yè)面向action提交list對象
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久