今天楞了半天硬是沒想到用map,在此還原以下代碼
阿新 • • 發佈:2017-06-22
save class sel code ransac get nsa names list
/** * 左邊為項目類型,樹結構的,需要將項目的樹結構目錄加上項目名拼接在一起,不同的項目做成下拉列表
*/ @Transactional(readOnly = false) public List<Map<String,Object>> findFullName(){
//獲取所有的父id和項目名稱 List<ProjectInfo> list=projectInfoDao.findParentIdsAndProjectName();
//定義一個list,泛型為map List<Map<String,Object>> fullNameList=new ArrayList<Map<String,Object>>(); for (ProjectInfo projectInfo : list) {
//獲取所有項目類型的父節點 String parentIds=projectTypeService.get(projectInfo.getProjectTypeId()).getParentIds();
//獲取本項目的項目類型 String ptName= projectTypeService.get(projectInfo.getProjectTypeId()).getName();
//獲取本項目名稱 String projectName=projectInfo.getProjectName();
//拆分父節點 String [] pId=parentIds.split(","); StringBuffer fullName=new StringBuffer(); Map<String,Object> map = newHashMap<String,Object>(); for (String str : pId) { if (!"0".equals(str)) {
//通過父節點項目類型名稱 String proTypeName=projectTypeService.get(str).getName();
//拼接父節點 fullName=fullName.append(proTypeName+"--"); } }
//在外層循環拼接本次項目類型名稱和項目名稱
fullName.append("--"+ptName).append("--"+projectName);
//數據庫設計存放的是projectId,沒fullName,fullName只是在前臺展示,
//因此在form變單save的時候fullName必須與所屬項目id保持一致,將id傳到後臺
map.put("fullname", fullName); map.put("id",projectInfo.getId()); fullNameList.add(map); } return fullNameList; }
前端也就很好寫了
<div class="control-group"> <label class="control-label">所屬項目:</label> <div class="controls"> <form:select path="projectId" class="input-xlarge"> <c:forEach var="fullName" items="${fullNames}"> <option value="${fullName.id}" selected> ${fullName.fullname} </option> </c:forEach> </form:select> </div> </div>
好了ok
樹結構的
今天楞了半天硬是沒想到用map,在此還原以下代碼