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

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

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

開(kāi)通VIP
一個(gè)小型Struts系統開(kāi)發(fā)過(guò)程中的筆記整理

之前在GL的督促下用Struts做了一個(gè)簡(jiǎn)單的HR系統。其間有過(guò)許多問(wèn)題,現在歸納一下,希望對看到的人有所幫助。

筆者以前也用Struts開(kāi)發(fā)過(guò)一個(gè)系統,那時(shí)候Struts的版本是1.1,現在1.2了,發(fā)現有一點(diǎn)區別。這次開(kāi)發(fā)最開(kāi)始的問(wèn)題就是在這一點(diǎn)上。

首先有關(guān)于消息提示部分的內容。在A(yíng)ction中,saveErrors(String, ActionError)已經(jīng)被廢棄了,但是saveErrors(String, ActionMessage)還是可用的。而很多時(shí)候,為了區分錯誤消息和提示消息, 還可以用saveMessages(String, ActionMessage)處理相關(guān)內容。

同時(shí)我發(fā)現,無(wú)論用saveErrors還是savaMessages, <html:errors/>標簽都是可用來(lái)提取消息的。不怕麻煩的話(huà),用:

         <html:messages id="msg" message="false">

               <bean:write name="msg" />

          </html:messages>

這樣的方式,可以將錯誤(error) 消息和提示(message) 消息顯式區分開(kāi)來(lái)。當然了,我一向是怕麻煩的,所以直接用<html:errors>就可以了。不過(guò)心中有些疑惑,Struts提供<html:errors/>和<html:messages/>這兩個(gè)標簽,理論上應該是希望前者用來(lái)描述錯誤消息,后者用來(lái)描述提示消息吧?不知道是不是我用法上還有些問(wèn)題?

另外,需要提醒的一點(diǎn)是,我用的是Struts 1.2.4,而現在最新的1.2.9似乎有一些莫名其妙的問(wèn)題。建議現在應用的話(huà),不要選擇這個(gè)最新的版本。

 

第二個(gè)是Validator應用的問(wèn)題。在Struts 1.2.9中(其實(shí)是從1.2.7開(kāi)始), Validator-rules.xml文件的定義有了一些區別。主要是很多函數多了一個(gè)org.apache.commons.validator.Validator的參數,如果使用之前版本的Validator.xml文件,可能會(huì )報NoSuchMethodException——參數少了一個(gè),方法自然就找不到了。。而在1.2.4的版本中,這個(gè)問(wèn)題是沒(méi)有的。

第三個(gè)是Tiles涉及的問(wèn)題。受Html中Frame的影響,我本來(lái)想找到一種可以實(shí)現Tiles中某個(gè)頁(yè)面部分刷新的方法。(比如在有左右兩部分的頁(yè)面,單擊左鏈接,刷新右側頁(yè)面)而事實(shí)證明,這是不可能的。我猜測的原因是Tiles的整體頁(yè)面已經(jīng)在Server端編譯成servlet,而Html是無(wú)需編譯的腳本。不得已,只有采用正頁(yè)面刷新的方式。(不知道有沒(méi)有別的方法?知道的請指教)

第四是單表單多按鈕時(shí)(LookupDispatchAction),利用Validator驗證,需要單獨寫(xiě)ValidatorForm的validate函數,因為也許不同的按鈕需要的表單驗證是不一樣的。這里提供一份代碼樣本:

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {                   

                        String parameter = mapping.getParameter();

        if( parameter != null ) {

            // Identify the method name to be dispatched to.

            String name = request.getParameter(parameter);

            MessageResources resources =

                (MessageResources) request.getAttribute(Globals.MESSAGES_KEY);

            // Identify the localized message for the cancel button

            String message = resources.getMessage("empmng.modify.deletebutton");

            // if message resource matches the cancel button then no

            // need to validate

            if( name != null && name.equals(message) ) {               

                    return null;

            }

        }

        // perform regular validation

        return super.validate(mapping, request);

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
簡(jiǎn)單的struts應用開(kāi)發(fā)(1)
Struts2 的表單驗證
Struts2:在MyEclipse中創(chuàng )建一個(gè)簡(jiǎn)單的Action
Controller層代碼這么寫(xiě),簡(jiǎn)潔又優(yōu)雅
Linux 寶庫 - 利用反射簡(jiǎn)化Struts的ActionForm的驗證
Struts Message Resources
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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