<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-21  評論-29  文章-0  trackbacks-0
    接著學(xué)習(xí)struts的相關(guān)組件
    Action Mapping
     每一個<action>元素都與類org.apache.struts.action.ActionMapping的一個實(shí)例對應(yīng),包括name,path,forward。

    An ActionMapping represents the information that the controller, RequestProcessor, knows about the mapping of a particular request to an instance of a particular Action class. The ActionMapping instance used to select a particular Action is passed on to that Action, thereby providing access to any custom configuration information included with the ActionMapping object.

    下面利用Action Mapping的相關(guān)方法 測試得到Action Mapping的屬性值
    AddStudentAction增加以下代碼
     //test the ActionMapping
            String name = mapping.getName();
            String path 
    = mapping.getPath();
            String type 
    = mapping.getType();
            System.out.println(
    "name="+name+"\tpath="+path+"\ttype="+type);
            String[] forwardsNames 
    = mapping.findForwards();
            
    for(String forwardName:forwardsNames){
                ActionForward forward 
    = mapping.findForward(forwardName);
                String forwardPath 
    = forward.getPath();
                System.out.println(
    "forwardname="+forwardName+"\tforwardPath"+forwardPath);
            }

            

    重新部署web應(yīng)用 觀察控制臺輸出

    其與struts-config.xml中的代碼對應(yīng)
    <action-mappings>
              
    <action path="/addStudentAction" type="cn.itcast.AddStudentAction" name="addStudentForm">
             
    <forward name="addStudentSuccess" path="/AddStudentSuccess.jsp"></forward>
             
    <forward name="addStudentFailure" path="/AddStudent.jsp"></forward>
         
    </action>
         
         
      
    </action-mappings>
    注意:外部不可以使用set方法不能設(shè)置其屬性  因?yàn)榕渲梦募呀?jīng)被frozen!

    ActionForward(導(dǎo)航器)
           ActionForward對象是配置對象。這些配置對象擁有獨(dú)一無二的標(biāo)識以允許它們按照name屬性等來檢索。ActionForward對象封裝了向前進(jìn)的URL路徑且被請求處理器用于識別目標(biāo)視覺。
           name:邏輯名稱
           path:頁面或者模塊訪問路徑

    An ActionForward represents a destination to which the controller, RequestProcessor, might be directed to perform a RequestDispatcher.forward or HttpServletResponse.sendRedirect to, as a result of processing activities of an Action class. Instances of this class may be created dynamically as necessary, or configured in association with an ActionMapping instance for named lookup of potentially multiple destinations for a particular mapping instance.

    An ActionForward has the following minimal set of properties. Additional properties can be provided as needed by subclassses.

    • contextRelative - Should the path value be interpreted as context-relative (instead of module-relative, if it starts with a '/' character? [false]
    • name - Logical name by which this instance may be looked up in relationship to a particular ActionMapping.
    • path - Module-relative or context-relative URI to which control should be forwarded, or an absolute or relative URI to which control should be redirected.
    • redirect - Set to true if the controller servlet should call HttpServletResponse.sendRedirect() on the associated path; otherwise false. [false]
    redirec:
        fale,no    ————      RequestDispatcher.forword  路徑相對當(dāng)前應(yīng)用
        true,yes  ————      HttpServletResponse.sendRedirec.path 寫絕對路徑

    ActionForm
       工作原理
    處理ActionForm的一般步驟:
       (1)檢查Action的映射,確定Action中已經(jīng)配置了對ActionForm的映射。
       (2)根據(jù)name屬性,查找form bean的配置信息。
       (3)檢查Action的form bean的使用問題,確定在此范圍下(request,session),是否已經(jīng)有此form bean的實(shí)例。
       (4)假如當(dāng)前范圍下,已經(jīng)存在了此form bean的實(shí)例,而是對當(dāng)前請求來說,是同一種類型的話,那么就重用。
       (5)否則,就重新構(gòu)建一個form bean的實(shí)例(調(diào)用構(gòu)造方法),并且保存在一定作用范圍。
       (6) form bean的reset()方法被調(diào)用
       (7)調(diào)用對應(yīng)的setter方法,對狀態(tài)屬性賦值
       (8)如果validate的屬性設(shè)置為true,那么就調(diào)用form 備案的validate方法。
       (9)如果validate方法沒有返回任何錯誤,控制器將ActionForm作為參數(shù),傳給Action實(shí)例的execute方法執(zhí)行。
    注意:直接從ActionForm類繼承的reset和validate方法,并不能實(shí)現(xiàn)什么處理功能,所以有必要自己重新覆蓋。



    總覺得學(xué)習(xí)組件有點(diǎn)無聊,也許明天開始學(xué)習(xí)另外一個實(shí)例。其他組件過段時間再學(xué)習(xí)了!
    posted on 2009-05-03 14:21 特立獨(dú)行 閱讀(1626) 評論(0)  編輯  收藏 所屬分類: Struts框架
    主站蜘蛛池模板: 亚洲精品人成电影网| 亚洲综合激情五月丁香六月| 免费看又黄又无码的网站| 亚洲国产精品成人综合色在线婷婷| 免费福利网站在线观看| 成年网在线观看免费观看网址| 午夜影视日本亚洲欧洲精品一区| 中文字幕无码免费久久99| 春意影院午夜爽爽爽免费| 亚洲精品美女久久久久9999| 国产成人啪精品视频免费网| 精品国产污污免费网站| 亚洲youwu永久无码精品| 亚洲情综合五月天| 女人被男人桶得好爽免费视频 | 无码专区AAAAAA免费视频| 亚洲人成电影网站久久| 亚洲人成精品久久久久| 国产美女精品视频免费观看| a毛片全部免费播放| 日本亚洲中午字幕乱码 | 亚洲国产精品人久久| 国产不卡免费视频| 亚洲免费视频观看| 国产精品免费在线播放| 亚洲人成www在线播放| 亚洲天天在线日亚洲洲精| 日批日出水久久亚洲精品tv| 男女免费观看在线爽爽爽视频| 国产免费久久久久久无码| 亚洲Av永久无码精品一区二区| 亚洲国产一区国产亚洲| 亚洲日本在线观看视频| 国外成人免费高清激情视频| 98精品全国免费观看视频| 久青草视频在线观看免费| 亚洲Av无码国产一区二区| 亚洲伊人久久大香线蕉在观| 亚洲乱码无码永久不卡在线 | 在线亚洲精品福利网址导航| 免费看片A级毛片免费看|