debugAction.jsp
3.74 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
76
77
78
79
80
81
82
83
84
85
86
87
88
<%@ include file="init.jsp" %>
<%
Object debugData = session.getAttribute(debugDataKey);
Class dataClass = Class.forName("com.weaver.onlinedebug.data.DebugData");
Class util = Class.forName("com.weaver.onlinedebug.util.Util");
%>
<%
String action = request.getParameter("action");
if ("addvardata".equals(action)) {
String className = request.getParameter("classname");
String line = request.getParameter("line");
if(className.trim().length()>0 && line.trim().length()>0){
if(className.endsWith(".jsp")){
className = jspPath2Class(className);
}
util.getMethod("addVarLineData",new Class[]{dataClass, String.class, int.class})
.invoke(null, new Object[]{debugData,className,Integer.valueOf(line)});
}
response.sendRedirect("varDataList.jsp");
} else if ("editvardata".equals(action)) {
String className = request.getParameter("classname");
String oldLine = request.getParameter("oldline");
String newLine = request.getParameter("newline");
String info = request.getParameter("info");
info = info.replaceAll("\r\n",";").replaceAll("\n",";");
session.setAttribute(debugCurrentLineKey, newLine);
util.getMethod("editVarLineData",new Class[]{dataClass, String.class, int.class, int.class, String.class})
.invoke(null,new Object[]{debugData,className,Integer.valueOf(oldLine),Integer.valueOf(newLine),info});
response.sendRedirect("varDataList.jsp");
} else if ("deletecurrent".equals(action)) {
String className = request.getParameter("classname");
String line = request.getParameter("line");
util.getMethod("deleteVarLineData",new Class[]{dataClass, String.class, int.class})
.invoke(null,new Object[]{debugData,className,Integer.valueOf(line)});
response.sendRedirect("varDataList.jsp");
} else if ("deleteall".equals(action)) {
util.getMethod("deleteAllVarLineData",new Class[]{dataClass})
.invoke(null,new Object[]{debugData});
response.sendRedirect("varDataList.jsp");
} else if ("setenable".equals(action)){
String className = request.getParameter("classname");
String line = request.getParameter("line");
String enable = request.getParameter("enable");
util.getMethod("setEnableVarLineData",new Class[]{dataClass, String.class, int.class, boolean.class})
.invoke(null,new Object[]{debugData,className,Integer.valueOf(line),Boolean.valueOf(enable)});
response.sendRedirect("varDataList.jsp");
} else if ("setcurrent".equals(action)){
String className = request.getParameter("classname");
String line = request.getParameter("line");
session.setAttribute(debugCurrentClassKey,className);
session.setAttribute(debugCurrentLineKey,line);
response.sendRedirect("varDataEdit.jsp");
} else if ("updatestatus".equals(action)){
String trackType = request.getParameter("tracktype");
String trackSeq = request.getParameter("trackseq");
util.getMethod("updateStatus",new Class[]{dataClass, String.class, String.class})
.invoke(null,new Object[]{debugData,trackType,trackSeq});
}
%>
<%!
public static String jspPath2Class(String jspPath) throws Exception {
if(!jspPath.startsWith("/")){
jspPath = "/" + jspPath;
}
String jspClass = (String)Class.forName("com.weaver.onlinedebug.util.Util").getDeclaredMethod("jspPath2Class",new Class[]{String.class}).invoke(null,new Object[]{jspPath});
return jspClass;
}
%>