<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)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲精品a在线无码| 国产啪亚洲国产精品无码 | 亚洲国产精品久久久久| 中文字幕不卡高清免费| 亚洲成AV人片在| 久久免费区一区二区三波多野| 亚洲成色在线影院| 91成人免费在线视频| 最新亚洲精品国偷自产在线| 免费黄色毛片视频| 青青青视频免费观看| 亚洲中文字幕无码一区二区三区| 四虎影视无码永久免费| 亚洲综合精品一二三区在线| 无码人妻一区二区三区免费手机| 亚洲日本VA午夜在线影院| 免费中文字幕在线| 叮咚影视在线观看免费完整版| 亚洲精品资源在线| 精品免费久久久久久成人影院 | 免费无码一区二区三区蜜桃| 亚洲色图在线观看| 免费看美女被靠到爽| 一级做a爰全过程免费视频毛片 | 免费精品一区二区三区在线观看| 老司机午夜免费视频| 久久亚洲国产午夜精品理论片| 88av免费观看| 国产亚洲视频在线播放大全| 国产亚洲成AV人片在线观黄桃 | 亚洲国产一区二区三区青草影视| 免费在线看v网址| 日韩免费在线中文字幕| 亚洲高清美女一区二区三区| 精品少妇人妻AV免费久久洗澡| a级在线观看免费| 亚洲日韩AV一区二区三区四区 | 亚洲爆乳无码一区二区三区| 国产精品久久久久免费a∨| 色婷婷综合缴情综免费观看| 亚洲精品不卡视频|