TA的每日心情  | 开心 2021-3-12 23:18 | 
|---|
 
  签到天数: 2 天 [LV.1]初来乍到  
 | 
 
| 
 
  
tree标签还可以接受具有树状结构的java对象,例如File等。 
[color=#990066,strength=3);]FileWrapper.java 
package com.zhangjie.struts2.bean; 
import java.io.File; 
import java.util.ArrayList; 
import java.util.List; 
public class FileWrapper { 
 private File file;   //原始数据 
 private List<FileWrapper> children = new ArrayList<FileWrapper>(); //子文件List 
 public FileWrapper(File file){ //构造函数 
  this.file = file; 
  File[] files = this.file.listFiles(); //获取子文件 
  for(int i = 0; files != null && i < files.length; i++){ //遍历子文件 
   FileWrapper wrapper = new FileWrapper(files); //封装一下 
   children.add(wrapper);  //放到子文件List 
  } 
 } 
 public List<FileWrapper> getChildren() { 
  return children; 
 } 
 public void setChildren(List<FileWrapper> children) { 
  this.children = children; 
 } 
 public File getFile() { 
  return file; 
 } 
 public void setFile(File file) { 
  this.file = file; 
 } 
} 
使用FileWrapper类及标签显示文件结构的代码如下: 
[color=#990066,strength=3);]treeFile.jsp 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<%@ page import="com.zhangjie.struts2.bean.FileWrapper, 
                java.io.File" %> 
<%@ taglib uri="/struts-tags" prefix="struts" %>  
<HTML> 
<struts:head theme="ajax" debug="false"/> 
  <body> 
   
  <% 
    request.setAttribute("file", 
    new FileWrapper(new File(getServletContext().getRealPath("WEB-INF")))); 
   %> 
<struts:set name="i" value="0"></struts:set>   
<struts:tree id="root" theme="ajax" rootNode="%{#request.file}" nodeTitleProperty="file.name" 
 nodeIdProperty="%{#i+1}" childCollectionProperty="children"></struts:tree> 
  </body> 
</html> 
运行效果如下: 
 
  
 
  |   
 
 
 
 |