Action中:
public void treeView1() throws ServletException, IOException {
StringBuffer bufHtml = new StringBuffer();
List<Power> powerList=PowerBean.listPowerAll();
Map<Integer,List<Search>> pslist=new HashMap<Integer,List<Search>>();
Integer id;
for(int i=0;powerList!=null&&i<powerList.size();i++){
id=powerList.get(i).getId();
pslist.put(id, this.findSearchByPid(id));
}
bufHtml.append("<script type=\"text/javascript\">");
bufHtml.append("d=new dTree('d');");
bufHtml.append("d.add(0,-1,'地图展示');");
int i=0;
int j=i+1;
int m=0;
for (Power power : powerList) {
bufHtml.append("d.add(");
bufHtml.append(j+","+i+",");
bufHtml.append("'"+power.getName()+"'");
bufHtml.append(");");
List<Search> slst = pslist.get(power.getId());
if(slst.size()>0){
m=j+1;
for (Search search : slst) {
bufHtml.append("d.add(");
bufHtml.append(m+","+j+",");
bufHtml.append("'"+search.getName()+"','");
bufHtml.append("../viewer/searchCommonArea.ctr?sid="+search.getId()+"&apid=0','','main');");
m=m+1;
}
if(m>0){
j=m+1;
}
}else{
j=j+1;
}
}
bufHtml.append("document.write(d)");
bufHtml.append("</script>");
request.setAttribute("treeJS1", bufHtml.toString());
super.forView(search1link, request, response);
}
Jsp页面:
<div class="dtree" >
<p>
<a href="javascript: d.openAll();"><font color="#FFFFFF">展开所有</font>
</a> |
<a href="javascript: d.closeAll();"><font color="#FFFFFF">关闭所有</font>
</a>
</p>
<%
String buf = (String)request.getAttribute("treeJS1");
out.println(buf);
%>
</div>
备注:forView方法如下:
public void forView(String url,HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
url = CtrModelContainer.Protect_model_url + url;
request.getRequestDispatcher(url).forward(request, response);
}