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

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

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

    開花流水

    空山無人,水流花開。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      79 Posts :: 42 Stories :: 160 Comments :: 0 Trackbacks

    Entity部分關鍵代碼:

    Java代碼 
    1. public class PartType {  
    2.   
    3.     //屬性...  
    4.   
    5.     private PartType parent;  
    6.     private Set<PartType> children = new HashSet<PartType>();  
    7.   
    8.   
    9.     //屬性對應的getter、setter......  
    10.   
    11.     @ManyToOne  
    12.     public PartType getParent() {  
    13.         return parent;  
    14.     }  
    15.   
    16.     public void setParent(PartType parent) {  
    17.         this.parent = parent;  
    18.     }  
    19.   
    20.     @OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")  
    21.     public Set<PartType> getChildren() {  
    22.         return children;  
    23.     }  
    24.   
    25.     public void setChildren(Set<PartType> children) {  
    26.         this.children = children;  
    27.     }  
    28.       
    29.     public void addChildren(PartType pt) {  
    30.         this.children.add(pt);  
    31.     }  
    32.       
    33.           
    34. }  

     

    SessionBean代碼...... 

     

    Action部分關鍵代碼:

    Java代碼 
    1. @Name("ptAction")  
    2. @Scope(ScopeType.CONVERSATION)  
    3. public class PartTypeAction {  
    4.   
    5.     @Logger  
    6.     private Log log;  
    7.   
    8.     @In  
    9.     private IPartTypeManager ptManager;  
    10.   
    11.     @Out(required = false)  
    12.     private PartType selectpt;  
    13.   
    14.     public PartType getSelectpt() {  
    15.         return selectpt;  
    16.     }  
    17.   
    18.     public void setSelectpt(PartType selectpt) {  
    19.         this.selectpt = selectpt;  
    20.     }  
    21.   
    22.     /* 
    23.      * 遞歸節點樹 
    24.      */  
    25.     private TreeNode<PartType> addChild(TreeNode<PartType> curNode,  
    26.             PartType curPT) {  
    27.         curNode.setData(curPT);  
    28.         log.info("遍歷: " + curPT.getName());  
    29.         if (curPT.getChildren().size() > 0) {  
    30.             for (Iterator iterator = curPT.getChildren().iterator(); iterator  
    31.                     .hasNext();) {  
    32.                 PartType childptItem = (PartType) iterator.next();  
    33.                 TreeNode<PartType> childpt = new TreeNodeImpl<PartType>();  
    34.                 curNode.addChild(childptItem.getId(), childpt);// 子節點加到當前節點下  
    35.                 addChild(childpt, childptItem);  
    36.             }  
    37.         }  
    38.         return curNode;  
    39.     }  
    40.   
    41.     /* 
    42.      * 構建樹 
    43.      */  
    44.     @Begin(join = true)  
    45.     public TreeNode<PartType> getPTTree() {  
    46.         log.info("構建PartType Tree");  
    47.         PartType ptroot = ptManager.getRootPartType();//調用SessionBean中的方法以獲取父節點  
    48.   
    49.         TreeNode<PartType> root = new TreeNodeImpl<PartType>();  
    50.         this.addChild(root, ptroot);  
    51.         TreeNode<PartType> vroot = new TreeNodeImpl<PartType>();  
    52.         vroot.addChild(root.getData().getId(), root);  
    53.         return vroot;  
    54.   
    55.     }  
    56.   
    57.     /* 
    58.      * 選擇一個節點觸發事件 
    59.      */  
    60.     @Begin(join = true)  
    61.     public void processSelection(NodeSelectedEvent event) {  
    62.         UITree tree = getTree(event);  
    63.         if (tree != null) {  
    64.             selectpt = (PartType) tree.getTreeNode().getData();  
    65.             log.info("選中節點:" + selectpt.getName());  
    66.             this.setSelectpt(selectpt);  
    67.         }  
    68.     }  
    69.   
    70.     private UITree getTree(FacesEvent event) {  
    71.         UIComponent component = event.getComponent();  
    72.         if (component instanceof UITree) {  
    73.             return ((UITree) component);  
    74.         }  
    75.   
    76.         if (component instanceof UITreeNode) {  
    77.             return ((UITree) component.getParent());  
    78.         }  
    79.   
    80.         return null;  
    81.     }  
    82.   
    83. }  

     

    頁面代碼:

    Jsf代碼 
    1. <rich:tree swidth="100%" value="#{ptAction.PTTree}" var="item"  
    2.     switchType="ajax" reRender="userdata"  
    3.     nodeSelectListener="#{ptAction.processSelection}"  
    4.     ajaxSubmitSelection="true">  
    5.     <rich:treeNode>  
    6.         <h:outputText value="#{item.name}" />  
    7.     </rich:treeNode>  
    8. </rich:tree>  



                                                                                                                                                                            ————引用自http://q-wong.javaeye.com/?show_full=true
    posted on 2009-06-06 18:02 開花流水 閱讀(1281) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 欧洲亚洲国产精华液| 182tv免费视频在线观看| 日韩人妻无码精品久久免费一| 免费a级毛片视频| 亚洲国产精品成人AV无码久久综合影院| 亚洲人成日本在线观看| 亚洲一区在线免费观看| 久久狠狠高潮亚洲精品| 91短视频免费在线观看| 亚洲人成电影院在线观看| 野花高清在线电影观看免费视频| 亚洲午夜久久久精品电影院| 亚洲人成电影网站免费| 亚洲国产精品久久久久秋霞小| 一级特黄录像免费播放肥| 亚洲综合无码AV一区二区 | 无套内射无矿码免费看黄| 四虎永久免费影院| 亚洲视频在线免费| 亚洲国产另类久久久精品黑人 | 国产免费观看视频| 一个人晚上在线观看的免费视频| 免费视频专区一国产盗摄| 亚洲中文字幕久久精品蜜桃| 天堂亚洲免费视频| 亚洲日韩国产精品无码av| 久久精品a一国产成人免费网站| 亚洲狠狠婷婷综合久久| 亚洲色偷拍区另类无码专区| 午夜视频免费在线观看| 国产成人亚洲综合网站不卡| 亚洲av日韩片在线观看| 久久久精品免费视频| 亚洲三级在线观看| 国产日韩成人亚洲丁香婷婷| 24小时在线免费视频| 精品成人一区二区三区免费视频 | 亚洲第一页在线观看| 国产一区在线观看免费| 免费看成人AA片无码视频吃奶| 波多野结衣亚洲一级|