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

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

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

    風人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數據加載中……

    struts2--Result Configuration

     

    當Action類方法完成,會返回一個字符串,這個字符串值用來選擇result元素。一個action可以映射到一組不同描述的結果。標準的result是在ActionSupport 這個基類中定義的。

    String SUCCESS = "success";
    String NONE    
    = "none";
    String ERROR   
    = "error";
    String INPUT   
    = "input";
    String LOGIN   
    = "login";

    當然,ap可以自定義其他的result標記來match特定的情況。

    Result Elements
    result有默認值設定,如果不指定屬性,則使用success和dispatch來執行這個result

    <action name="Hello">
      
    <result>/hello/Result.jsp</result>
      
    <result name="error">/hello/Error.jsp</result>
      
    <result name="input">/hello/Input.jsp</result>
    </action>


    如上顯示,默認情況下,如果返回值是success,則執行第一個result,其他的情況執行下面的匹配的result

    Global Results

    大部分時候,results都是嵌套在antion元素中。但是很多results會應用到不同的action。在一個安全的應用中,一個client試圖訪問一個沒有認證的頁面,那么很多action可能都需要去訪問 logon result。
    如果action需要共享result, 一組global result可以為每一個package定義。框架首先查詢嵌套在action中的本地result,如果本地result沒有符合的,則在global result中查詢。

    <global-results>
      
    <result name="error">/Error.jsp</result>
      
    <result name="invalid.token">/Error.jsp</result>
      
    <result name="login" type="redirect-action">Logon!input</result>
    </global-results>

     

    Dynamic Results
    A result may not be known until execution time. Consider the implementation of a state-machine-based execution flow; the next state might depend on any combination of form input elements, session attributes, user roles, moon phase, etc. In other words, determining the next action, input page, etc. may not be known at configuration time.

    Result values may be retrieved from its corresponding Action implementation by using EL expressions that access the Action's properties, just like the Struts 2 tag libraries. So given the following Action fragment:
    一個action有時候不可能在執行前就知道它的action,這種情況就需要通過動態result來實現。

     首先定義一個屬性,來存放這個值,然后在流程定義中通過EL表達式來取得這個屬性值。這樣就可以通過程序動態指定需要轉發的值。

    private String nextAction;

       public String getNextAction() {
           
    return nextAction;
       }

    you might define a result like this:
    <action name="fragment" class="FragmentAction">
            
    <result name="next" type="redirect-action">${nextAction}</result>
    </action>
    If a FragmentAction method returns "next" the actual value of that result will be whatever is in FragmentAction's nextAction property. So nextAction may be computed based on whatever state information necessary then passed at runtime to "next"'s redirect-action.

    總結,struts2對于result提供了很多很靈活的設置方法,用戶可以使用相應的方法處理特定的邏輯。對于各種情況,總能找出相應的方法來出來。

    posted on 2007-06-27 11:29 風人園 閱讀(2871) 評論(0)  編輯  收藏 所屬分類: Struts2

    主站蜘蛛池模板: 久久久久亚洲av成人无码电影| 免费无码成人AV片在线在线播放| 激情97综合亚洲色婷婷五| 亚洲AV色无码乱码在线观看| 成人免费视频试看120秒| 亚洲人成综合网站7777香蕉 | 久久精品国产免费| 亚洲情综合五月天| 久久精品中文字幕免费| 亚洲成色WWW久久网站| 99热在线观看免费| 亚洲另类古典武侠| 成人免费在线视频| 看成年女人免费午夜视频| 四虎精品亚洲一区二区三区| 人妻18毛片a级毛片免费看| 亚洲欧洲美洲无码精品VA| 久久久99精品免费观看| 亚洲狠狠ady亚洲精品大秀| 免费无码又黄又爽又刺激| 精品久久久久久亚洲综合网| 亚洲成A∨人片天堂网无码| 久久精品免费大片国产大片| 亚洲伦另类中文字幕| 免费做爰猛烈吃奶摸视频在线观看 | 午夜精品在线免费观看| 免费一级毛suv好看的国产网站| 亚洲精品午夜无码电影网| 麻豆视频免费观看| 亚洲av综合日韩| 亚洲成AV人片在线观看ww| 手机在线看永久av片免费| 国内成人精品亚洲日本语音| 亚洲人成人无码网www电影首页| 久九九精品免费视频| 一级午夜a毛片免费视频| 亚洲精品国产成人99久久| 特级淫片国产免费高清视频| 两个人看www免费视频| 亚洲AV无码久久久久网站蜜桃| 亚洲成a人无码av波多野按摩|