<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
    項(xiàng)目中為方便用戶在添加上傳文件時(shí)選擇自己想要保存到的文件夾,著手寫了一個(gè)程序?qū)崿F(xiàn)遍歷數(shù)據(jù)庫(kù)中所有的文件夾而形成有層次感的下拉列表,涉及到的代碼基本如下:
    首先介紹下表結(jié)構(gòu):
    必須有的字段有:folderId, parentFolderId, folderName
        /**
         * 用于形成菜單式下拉列表的字符串拼接方法
         * 
         * 
    @param wpFolderId 文件夾ID
         * 
    @param groupId    社區(qū)ID
         * 
    @param menuList   返回的菜單式下拉列表的拼接List
         * 
    @param str        用來區(qū)分不同級(jí)的文件夾的靜態(tài)字符串
         * 
    @return
         * 
    @throws SystemException
         
    */

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

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

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

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

            
            
    return menuList;
        }

    在Action中通過調(diào)用此業(yè)務(wù)方法,得到最終拼接好的String串List,通過req.setAttribute("folderList", list); 在頁(yè)面上將此List取出進(jìn)行循環(huán)讀出,則可以產(chǎn)生出菜單式的列表,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>

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

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲无码高清在线观看| 国产免费卡一卡三卡乱码| 一二三四免费观看在线视频中文版| 在线永久看片免费的视频| 在线观看免费大黄网站| 亚洲?V无码成人精品区日韩| 伊人久久综在合线亚洲91| 久久亚洲私人国产精品| 国产精品亚洲综合五月天| 羞羞网站免费观看| 免费无码黄网站在线看| 日本免费网址大全在线观看 | 一个人看的免费视频www在线高清动漫| 成人国产精品免费视频| 88xx成人永久免费观看| 成年人免费视频观看| 久久伊人亚洲AV无码网站| 久久亚洲日韩看片无码| 亚洲日韩一区二区三区| 国产男女爽爽爽免费视频| 亚洲一级毛片免费看| 四虎影视永久免费观看地址| 亚洲精品V欧洲精品V日韩精品| 亚洲日本国产精华液| 免费中文字幕视频| 99re免费视频| 波多野结衣免费视频观看| 亚洲国产一区二区a毛片| 亚洲精品无码国产片| 久久美女网站免费| 好男人视频在线观看免费看片 | 男男AV纯肉无码免费播放无码| 亚洲高清无码专区视频| 久久亚洲AV无码精品色午夜麻豆| 亚洲乱码无人区卡1卡2卡3| a级片免费在线观看| 成人a免费α片在线视频网站| 亚洲码国产精品高潮在线| 亚洲中文字幕乱码熟女在线| 99在线热播精品免费99热| 日韩a级毛片免费观看|