Source code: mill/tools/ServletTools.java
1 package mill.tools;
2
3 import java.lang.String;
4 import java.lang.reflect.Method;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8 import javax.servlet.http.HttpSession;
9
10 import mill.startup.InitJSPparam;
11
12 /**
13 Класс tools прденазначен для работы с объектами javax.servlet.ServletRequest и др.
14 */
15 public class ServletTools
16 {
17 private static boolean isDebug = false;
18 private static boolean isProduction = true;
19
20 private static void dbg(String s)
21 {
22 if (isProduction)
23 return;
24
25 dbg (s, 0);
26 }
27
28 private static void dbg(String s, int level)
29 {
30 if (isProduction)
31 return;
32
33 if (level>0)
34 System.out.println(s);
35
36 else if (isDebug)
37 System.out.println(s);
38 }
39
40
41 public static void immediateRemoveAttribute(HttpSession session,
42 String attr)
43 {
44 Object obj = session.getAttribute( attr );
45 try
46 {
47 dbg("#12.12.001 search method 'clearObject'");
48 Class cl = obj.getClass();
49 Method m = cl.getMethod("clearObject", null);
50 dbg("#12.12.002 invoke method 'clearObject'");
51 if (m!=null)
52 m.invoke(obj, null);
53 dbg("#12.12.003 complete invoke method 'clearObject'");
54 }
55 catch(Exception e){
56 dbg("#12.12.003 method 'clearObject' not found. Error "+e.toString() );
57 }
58
59 session.removeAttribute( attr );
60 obj = null;
61 }
62
63 /**
64 Если при вызове текущего URL переменная не инициализирована, то перенаправление на
65 страницу index.jsp
66 Параметры:
67 <blockquote>
68 HttpServletRequest request - обычно это request из окружения JSP<br>
69 HttpServletResponse response - обычно это response из окружения JSP<br>
70 String f - имя переменной для проверки<br>
71 </blockquote>
72 */
73 public static boolean isNotInit(HttpServletRequest request, HttpServletResponse response, String f)
74 {
75 return isNotInit(request, response, f, "index.jsp");
76 }
77
78 /**
79 Если при вызове текущего URL переменная не инициализирована, то перенаправление на
80 страницу index.jsp
81 Параметры:
82 <blockquote>
83 HttpServletRequest request - обычно это request из окружения JSP<br>
84 HttpServletResponse response - обычно это response из окружения JSP<br>
85 String f - имя переменной для проверки<br>
86 String defURL - URL для перенаправления, если переменная отсутствует
87 </blockquote>
88 */
89 public static boolean isNotInit(HttpServletRequest request, HttpServletResponse response, String f, String defURL)
90 {
91
92 if (request.getParameter(f)==null)
93 {
94 try {
95 response.sendRedirect(defURL);
96 } catch(Exception e){}
97
98 return true;
99 }
100 return false;
101 }
102
103
104 /**
105 Возвращает текстовое значение переменной. Если переменная не инициализирована, возвращает пустую строку
106 Параметры:
107 <blockquote>
108 HttpServletRequest request - обычно это request из окружения JSP<br>
109 String f - имя переменной для получения значения
110 </blockquote>
111 */
112 public static String getRString(HttpServletRequest request, String f)
113 {
114 return getRString(request, f, "");
115 }
116
117 /**
118 Возвращает текстовое значение переменной. Если переменная не инициализирована, возвращает пустую строку
119 Параметры:
120 <blockquote>
121 HttpServletRequest request - обычно это request из окружения JSP<br>
122 String f - имя переменной для получения значения<br>
123 String def - строка по умолчанию<br>
124 </blockquote>
125 */
126 public static String getRString( HttpServletRequest request, String f, String def )
127 {
128 String s_ = def;
129 if (request.getParameter(f)!= null)
130 {
131 try {
132 s_ = StringTools.convertString( (String)request.getParameter(f), InitJSPparam.getServerCharset(), InitJSPparam.getJSPCharset());
133 } catch(Exception e){}
134 }
135 return s_;
136 }
137
138 /**
139 Возвращает int значение переменной. Если переменная не инициализирована, возвращает 0
140 Параметры:
141 <blockquote>
142 HttpServletRequest request - обычно это request из окружения JSP<br>
143 String f - имя переменной для получения значения<br>
144 </blockquote>
145 */
146 public static int getRInt(HttpServletRequest request, String f)
147 {
148 return getRInt(request, f, 0);
149 }
150
151 /**
152 Возвращает int значение переменной. Если переменная не инициализирована, возвращает 0
153 Параметры:
154 <blockquote>
155 HttpServletRequest request - обычно это request из окружения JSP<br>
156 String f - имя переменной для получения значения<br>
157 int def - значение по молчанию<br>
158 </blockquote>
159 */
160 public static int getRInt( HttpServletRequest request, String f, int def )
161 {
162 int i_ = def;
163 if (request.getParameter(f)!= null)
164 {
165 try {
166 String s_ = (String)request.getParameter(f);
167 i_ = (new Integer(s_)).intValue();
168 } catch(Exception e) {}
169 }
170 return i_;
171 }
172
173 /**
174 Возвращает long значение переменной. Если переменная не инициализирована, возвращает 0
175 Параметры:
176 <blockquote>
177 HttpServletRequest request - обычно это request из окружения JSP<br>
178 String f - имя переменной для получения значения<br>
179 </blockquote>
180 */
181 public static long getRLong(HttpServletRequest request, String f)
182 {
183 return getRLong(request, f, 0);
184 }
185
186 /**
187 Возвращает long значение переменной. Если переменная не инициализирована, возвращает 0
188 Параметры:
189 <blockquote>
190 HttpServletRequest request - обычно это request из окружения JSP<br>
191 String f - имя переменной для получения значения<br>
192 long def - значение по молчанию
193 </blockquote>
194 */
195 public static long getRLong( HttpServletRequest request, String f, long def )
196 {
197 long i_ = def;
198 if (request.getParameter(f)!= null)
199 {
200 try {
201 String s_ = (String)request.getParameter(f);
202 i_ = (new Long(s_)).longValue();
203 } catch(Exception e) {}
204 }
205 return i_;
206 }
207
208 /**
209 Возвращает float значение переменной. Если переменная не инициализирована, возвращает 0
210 Параметры:
211 <blockquote>
212 HttpServletRequest request - обычно это request из окружения JSP<br>
213 String f - имя переменной для получения значения<br>
214 </blockquote>
215 */
216 public static float getRFloat(HttpServletRequest request, String f)
217 {
218 return getRFloat(request, f, 0);
219 }
220
221 /**
222 Возвращает float значение переменной. Если переменная не инициализирована, возвращает 0
223 Параметры:
224 <blockquote>
225 HttpServletRequest request - обычно это request из окружения JSP<br>
226 String f - имя переменной для получения значения<br>
227 float def - значение по умолчанию
228 </blockquote>
229 */
230 public static float getRFloat( HttpServletRequest request, String f, float def )
231 {
232 float i_ = def;
233 if (request.getParameter(f)!= null)
234 {
235 try {
236 String s_ = (String)request.getParameter(f);
237 s_ = s_.replace(',', '.');
238
239 i_ = (new Float(s_)).floatValue();
240 } catch(Exception e) {}
241 }
242 return i_;
243 }
244
245
246 public static double getRDouble(HttpServletRequest request, String f)
247 {
248 return getRDouble(request, f, 0);
249 }
250
251 /**
252 Возвращает double значение переменной. Если переменная не инициализирована, возвращает 0
253 Параметры:
254 <blockquote>
255 HttpServletRequest request - обычно это request из окружения JSP<br>
256 String f - имя переменной для получения значения<br>
257 double def - значение по умолчанию
258 </blockquote>
259 */
260 public static double getRDouble( HttpServletRequest request, String f, double def )
261 {
262 double i_ = def;
263 if (request.getParameter(f)!= null)
264 {
265 try {
266 String s_ = (String)request.getParameter(f);
267 s_ = s_.replace(',', '.');
268
269 i_ = (new Double(s_)).doubleValue();
270 } catch(Exception e) {}
271 }
272 return i_;
273 }
274
275
276 }