CustomResourceListJSON.jsp
2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.*"%>
<%@ page import="weaver.hrm.*,weaver.general.*" %>
<%@ page import="net.sf.json.JSONObject" %>
<%@ page import="weaver.page.PageManager"%>
<%
response.setHeader("cache-control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setHeader("expires", "Mon 1 Jan 1990 00:00:00 GMT");
User user = HrmUserVarify.getUser(request,response);
if(user == null) return ;
String dir = Util.null2String(request.getParameter("dir"));
out.print(getFileNode(dir));
%>
<%!
private String getFileNode(String dir){
StringBuffer returnStr = new StringBuffer();
PageManager pm = new PageManager();
String dirAbs = pm.getRealPath("/page/resource/userfile/");
if(!"".equals(dir)) dirAbs+=dir;
if (dirAbs.charAt(dirAbs.length()-1) == '\\') {
dirAbs = dirAbs.substring(0, dirAbs.length()-1) + "/";
} else if (dirAbs.charAt(dirAbs.length()-1) != '/') {
dirAbs += "/";
}
dirAbs = Util.StringReplace(dirAbs,"\\","/");
returnStr.append("[");
if (new File(dirAbs).exists()) {
String[] files = new File(dirAbs).list(new FilenameFilter() {
public boolean accept(File dirAbs, String name) {
return name.charAt(0) != '.';
}
});
Arrays.sort(files, String.CASE_INSENSITIVE_ORDER);
if(files.length>0){
for (int i=0; i<files.length;i++) {
JSONObject json = new JSONObject ();
String file = files[i];
File _file = new File(dirAbs, file);
if (_file.isDirectory()) {
json.put("id",new Date().getTime());
json.put("isParent",true);
json.put("parentId",_file.getParentFile().getName());
json.put("name",file);
json.put("dirtype","cus");
json.put("dirrealpath",dir + file + "/");
if("flash".equals(file)||"image".equals(file)||"other".equals(file)||"video".equals(file)){
json.put("dirtype","sys");
}
File[] hasFiles = new File(dirAbs + file).listFiles();
if(hasFiles.length>0){
for (int k=0; k<hasFiles.length;k++) {
if(hasFiles[k].isDirectory()){
json.put("isParent",true);
break;
}else{
json.put("isParent",false);
}
}
}else{
json.put("isParent",false);
}
returnStr.append(json.toString());
returnStr.append(",");
}
}
}
}
return returnStr.toString().substring(0,returnStr.toString().length()-1)+"]";
}
%>