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

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

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

    posts - 27,  comments - 14,  trackbacks - 0
    項目中為方便用戶在添加上傳文件時選擇自己想要保存到的文件夾,著手寫了一個程序實現遍歷數據庫中所有的文件夾而形成有層次感的下拉列表,涉及到的代碼基本如下:
    首先介紹下表結構:
    必須有的字段有:folderId, parentFolderId, folderName
        /**
         * 用于形成菜單式下拉列表的字符串拼接方法
         * 
         * 
    @param wpFolderId 文件夾ID
         * 
    @param groupId    社區ID
         * 
    @param menuList   返回的菜單式下拉列表的拼接List
         * 
    @param str        用來區分不同級的文件夾的靜態字符串
         * 
    @return
         * 
    @throws SystemException
         
    */

        
    public static List getFolderMenu(long wpFolderId, long groupId, List menuList, String str) 
                
    throws SystemException{
            
            
    //首先查出第一級的所有文件夾對象
            List rootList=LogFolderLocalServiceUtil.getFolders(groupId, wpFolderId);
            
            
    //定義一個空的日志文件夾對象
            LogFolder logFolder = null;

            
    //循環處理用于頁面顯示的文件夾名稱列表
            for(int i=0;i<rootList.size();i++){
                logFolder
    =(LogFolder)rootList.get(i);

                
    //設置文件夾名稱為:文件夾名稱加一靜態字符串(初始為空)
                logFolder.setWpFolderName(str+logFolder.getWpFolderName());

                
    //往List里面添加數據對象
                menuList.add(logFolder);
                
                
    //取得下一級文件夾的文件夾ID(也即將當前文件夾的ID作為下一級文件夾的父文件夾ID)
                long subWpFolderId=((LogFolder)rootList.get(i)).getWpFolderId();
                
                
    //如果有下一級文件夾則遞歸調用該方法實現遍歷所有文件夾
                getFolderMenu(subWpFolderId,groupId,menuList,str+"&nbsp;&nbsp;&nbsp;&nbsp;");
                
            }

            
            
    return menuList;
        }

    在Action中通過調用此業務方法,得到最終拼接好的String串List,通過req.setAttribute("folderList", list); 在頁面上將此List取出進行循環讀出,則可以產生出菜單式的列表,JSP代碼如下:
     1<tr>
     2    <td>
     3        <liferay-ui:message key="日志文件夾選擇" />
     4    </td>
     5    <td>
     6        <select name="<portlet:namespace />selFolderId">
     7            <option value=""></option>
     8
     9            <%
    10            for (int i = 0; i < FList.size(); i++) {
    11            LogFolder mt = (LogFolder)FList.get(i);    
    12            
    %>
    13
    14                <option <%= selFolderId == String.valueOf(mt.getWpFolderId()) ? "selected" : "" %> value="<%= String.valueOf(mt.getWpFolderId()) %>"><%= mt.getWpFolderName() %></option>
    15
    16            <%
    17            }
    18            
    %>
    19
    20        </select>
    21    </td>
    22</tr>

    我這是在一個Liferay項目中代碼,在其他Web開發中應該方法類似,如果表結構相似,改起來應該比較方便。有任何疑問可以留言交流,包括Liferay技術。
    posted on 2007-07-19 17:34 Scott.Pan 閱讀(691) 評論(0)  編輯  收藏 所屬分類: Liferay
    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级毛片免费观看不卡的| 国产乱妇高清无乱码免费| 亚洲精品免费网站| 亚洲毛片免费观看| 国产92成人精品视频免费| 亚洲视频一区在线| 曰曰鲁夜夜免费播放视频| 亚洲视频国产精品| 无码人妻一区二区三区免费| 亚洲人成网站日本片| 91嫩草国产在线观看免费| 亚洲日韩一区二区三区| 永久免费无码网站在线观看| 色窝窝亚洲AV网在线观看| 亚洲第一永久AV网站久久精品男人的天堂AV | 国产国拍亚洲精品福利| 国产99久久久国产精免费 | 国产a不卡片精品免费观看| 最新亚洲人成无码网www电影| 国产免费久久精品久久久| 特级一级毛片免费看| 国产精品亚洲一区二区三区在线| 暖暖日本免费中文字幕| 亚洲欧洲视频在线观看| 好男人看视频免费2019中文| 日韩毛片免费一二三| 久久青草亚洲AV无码麻豆| 国内精品乱码卡1卡2卡3免费| 久久人午夜亚洲精品无码区| 亚洲日本乱码在线观看| aⅴ在线免费观看| 亚洲av无码片vr一区二区三区| 亚洲精品国产精品乱码不卞| 另类免费视频一区二区在线观看| 亚洲中文字幕无码av| 国产午夜亚洲精品午夜鲁丝片| h在线观看视频免费网站| jzzijzzij在线观看亚洲熟妇| 亚洲国产日韩一区高清在线| 国产一级做a爱免费视频| 黄色免费在线网站|