• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    WebLogic樹形結構的實現

    發布: 2007-6-22 07:38 | 作者:   | 來源:   | 查看: 14次 | 進入軟件測試論壇討論

    領測軟件測試網

       

    一、序

    本文是使用WebLogic的自帶控件,如果對其比較陌生可以察看
    E:\bea\weblogic81\samples\workshop
    \SamplesApp\WebApp\tagSamples.netui\tree
    E:\bea\weblogic81\samples\workshop

    \SamplesApp\WebApp\tagSamples\netui\tree_dynamic
    WebLogic自帶的兩個例子。

    關于靜態的樹形結構相對簡單,不在這里詳細說明。

    二、自定義的樹形結構

    1.環境目錄
    ---------------------------------

    Test\TestWeb\index.jsp   Test為應用程序名,TestWeb為Web名

    2.創建頁面流
    ---------------------------------

    在TestWeb下新建頁面流tree。系統會自動生成以下文件,文件夾:
    Test\TestWeb\tree
    Test\TestWeb\tree\index.jsp
    Test\TestWeb\tree\TreeController.jpf

    3.準備TreeView相關頁面文件
    ---------------------------------

    這里使用frame框架進行演示,左邊顯示樹形結點,右邊顯示對應內容。所以還要建立兩個文件。
    tree.jsp作為樹形結點頁面,content.jsp作為內容頁面。
    Test\TestWeb\tree\tree.jsp
    Test\TestWeb\tree\content.jsp

    我們把index.jsp就作為框架容器。代碼如下:

    <netui:html>
        <head>
            <title>
                Web Frame
            </title>
        </head>
        <frameset cols="20%,*">
            <frame src="tree.jsp" name="fraTree" >
            <frame src="content.jsp" name="fraContent" >
        </frameset>
    </netui:html>

    4.編輯頁面流文件TreeController.jpf
    ---------------------------------

    tree.jsp,content.jsp內容我們暫時不管,先編輯TreeController.jpf頁面流文件,全代碼如下:

    package tree;
    /**
     * @jpf:controller
     * @jpf:view-properties view-properties::
     * <!-- 此數據是自動生成的。 不推薦手工編輯此區域。 -->
     * <view-properties>
     * <pageflow-object id="pageflow:/tree/TreeController.jpf"/>
     * <pageflow-object id="action:treeState.do">
     *   <property value="180" name="x"/>
     *   <property value="40" name="y"/>
     * </pageflow-object>
     * <pageflow-object id="action:begin.do">
     *   <property value="80" name="x"/>
     *   <property value="100" name="y"/>
     * </pageflow-object>
     * <pageflow-object id="action-call:@page:tree.jsp@#@action:treeState.do@">
     *   <property value="96,120,120,144" name="elbowsX"/>
     *   <property value="31,31,31,31" name="elbowsY"/>
     *   <property value="East_1" name="fromPort"/>
     *   <property value="West_1" name="toPort"/>
     * </pageflow-object>
     * <pageflow-object id="page:tree.jsp">
     *   <property value="60" name="x"/>
     *   <property value="40" name="y"/>
     * </pageflow-object>
     * <pageflow-object id="page:index.jsp">
     *   <property value="240" name="x"/>
     *   <property value="100" name="y"/>
     * </pageflow-object>
     * <pageflow-object id="page:content.jsp">
     *   <property value="120" name="x"/>
     *   <property value="100" name="y"/>
     * </pageflow-object>
     * <pageflow-object id="forward:path#tree#tree.jsp#@action:treeState.do@">
     *   <property value="144,120,120,96" name="elbowsX"/>
     *   <property value="31,31,31,31" name="elbowsY"/>
     *   <property value="West_1" name="fromPort"/>
     *   <property value="East_1" name="toPort"/>
     *   <property value="tree" name="label"/>
     * </pageflow-object>
     * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@">
     *   <property value="116,160,160,204" name="elbowsX"/>
     *   <property value="91,91,91,91" name="elbowsY"/>
     *   <property value="East_1" name="fromPort"/>
     *   <property value="West_1" name="toPort"/>
     *   <property value="success" name="label"/>
     * </pageflow-object>
     * </view-properties>
     * ::
     */

    //以上一堆注釋代碼,不必理會

    public class TreeController extends  com.bea.wlw.netui.pageflow.PageFlowController
    {
        //定義樹形根結點
        public com.bea.wlw.netui.tags.html.TreeNode liweinode = null;
       
        //頁面流加載時運行代碼
        public void onCreate() throws Exception
        {
            int i=10;
           
            //實例化樹形結點
            //第一個參數:結點圖標
            //第二個參數:結點標簽
            //第三個參數:一般為null,具體還沒搞懂
            //第四個參數:結點的點擊動作
            //第五個參數:作用的頁面,即在index.jsp定義的內容框架名fraContent
            //第六個參數:展開還是合并
            liweinode=new com.bea.wlw.netui.tags.html.TreeNode(
             "folder_closed.gif",
                    "root",
                    null,
                    "content.jsp",
                    "fraContent",
                    true);  
            com.bea.wlw.netui.tags.html.TreeNode treenode[]=new com.bea.wlw.netui.tags.html.TreeNode[i];
            for(i=0;i<10;i++)
            {
            treenode[i] = new com.bea.wlw.netui.tags.html.TreeNode(
                    "folder_closed.gif",
                    "test"+i,
                    null,
                    "content.jsp?sendvalue="+i,
                    "fraContent",
                    true);
                    liweinode.addChild(treenode[i]);
            }               
        }
       
         /**
         * Handles the state of the tree when a a link is clicked.
         *
         * @jpf:action
         * @jpf:forward name="tree" path="tree.jsp"
         */
       
        //點擊結點結的動作處理,要     public com.bea.wlw.netui.pageflow.Forward treeState()
        {
            String nodeSel = null;
            String nodeExpanded = null;
        
            nodeSel = getRequest().getParameter(com.bea.wlw.netui.tags.html.TreeNode.SELECTED_NODE);
            nodeExpanded = getRequest().getParameter(com.bea.wlw.netui.tags.html.TreeNode.EXPAND_NODE);

            if (nodeExpanded != null)
            {

                com.bea.wlw.netui.tags.html.TreeNode node = liweinode.findNode(nodeExpanded);
                if (node != null)
                {
                    node.setExpanded(!node.isExpanded());
                }
                return new com.bea.wlw.netui.pageflow.Forward("tree");
            }

            return new com.bea.wlw.netui.pageflow.Forward(nodeSel);
        }
       
        /**
         * 此方法代表進入頁面流的入口
         * @jpf:action
         * @jpf:forward name="success" path="index.jsp"
         */
        protected com.bea.wlw.netui.pageflow.Forward begin()
        {
            return new com.bea.wlw.netui.pageflow.Forward("success");
        }
    }

    5.編輯頁面tree.jsp,content.jsp
    ---------------------------------

    tree.jsp內容如下,tree對應上面定義的public liweinode,格式必須如此。action即為上面定義的
    public com.bea.wlw.netui.pageflow.Forward treeState()方法。
    content.jsp內容如下:

      <body>
        <netui:tree tree="{pageFlow.liweinode}" action="treeState"></netui:tree>
      </body>
     
    content.jsp內容如下:

      <body>
          <p>
              <%=request.getParameter("sendvalue")%>
          </p>
      </body>
    <%=request.getParameter("sendvalue")%>
    6.運行
    ---------------------------------

    運行會發現左邊樹形結構是一堆紅x,不過點擊對應結點,功能倒是沒問題。不要緊,下面就解決紅x的
    問題。這是由于中未指定imageRoot。

    將E:\bea\weblogic81\samples\workshop\SamplesApp\WebApp\tagSamples\netui\tree下
    treeImages復制到Test\TestWeb\tree下。并修改tree.jsp。這時

    再運行會發現一切OK,不會很快就會感覺到那些圖片實在是太難看了。我這里用的是.net的圖片,下載的
    WebControl里面有。把這些好的圖片復制到treeImages下,更改代碼為:

    運行一切OK!

    三、從Xml文件中獲取樹形結構

    E:\bea\weblogic81\samples\workshop\SamplesApp\WebApp\tagSamples\netui\tree_dynamic這個例子就
    是,有了自定義樹形的詳細解釋,應用也不成問題。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>