xinyb
10 天以前 658898d28cded745ca15ee0a89e3025358356259
提交 | 用户 | age
a6a76f 1 package com.yc.utils;
F 2 import java.util.Enumeration;
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpSession;
8
9 /**
10  * 请求参数值处理 
11  * @author hq
12  *
13  */
14 public class RequestParameterUtils {
15     
16     
17     /**
18      * 将request请求值封装成Map<String,String>
19      * @param request
20      * @return
21      */
22     @SuppressWarnings("unchecked")
23     public static Map<String,String> formatParamter2Map(HttpServletRequest request){
24         
25         Map<String,String> parameters = new HashMap<String,String>();
26         
27         Enumeration<String> names = request.getParameterNames();
28         String tmpName = null;
29         if(names.hasMoreElements()){
30             tmpName = names.nextElement();
31             parameters.put(tmpName, request.getParameter(tmpName));
32         }
33         tmpName = null;
34         names = null;
35         return parameters;
36     }
37     
38     /**
39      * 将&doccode&表达式 替换成request请求参数值
40      * @param template
41      * @param request
42      * @return
43      */
44     public static String replaceRequestExpression(String template,HttpServletRequest request,HttpSession session){
45         try {        
46         if(template.indexOf("&")!=-1){
47             String copy="";
48             List<String> requestEx = SqlParameterUtil.getReplaceParameter(template, "&");
49             Map<String,String> params = SqlParameterUtil.getParameter2Map(request.getAttribute("wherePan")!=null?request.getAttribute("wherePan").toString():"");//替换有&符号的属性值 ,如果是null值 就替换成空值""。单据的dataHead.jsp取值页面。   操作时间 2014-6-26 10:38:29
50             for(String str:requestEx){
b52b57 51                 if(params.get(str.toLowerCase())==null){//没能找到wherPan属性的值情况 xin 2021-3-15 09:54:06
X 52                     String v=request.getParameter(str);
53                     params.put(str.toLowerCase(),(v!=null?v.replace("'", ""):v));//用request看是否能获取到值。
54                 }
a6a76f 55                 copy=(session.getAttribute("@"+str.toLowerCase())!=null?session.getAttribute("@"+str.toLowerCase()).toString():"");
F 56                 template = template.replace("&"+str+"&",params.get(str.toLowerCase())==null?copy:params.get(str.toLowerCase()));
57             }
58         }
59         if(template.indexOf("@")!=-1){
60             template=SessionKey.replaceSessionValue(template,session);
61         }
62             return template;
63         } catch (Exception e) {
64             return template;
65         }
66     }
67 }