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>
运行效果如下:
|
|