fs-danaus
2024-08-09 7204e3dff0490732e861ccd1338e3e3c31d768c6
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
package com.yc.utils;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
 
/**
 * 请求参数值处理 
 * @author hq
 *
 */
public class RequestParameterUtils {
    
    
    /**
     * 将request请求值封装成Map<String,String>
     * @param request
     * @return
     */
    @SuppressWarnings("unchecked")
    public static Map<String,String> formatParamter2Map(HttpServletRequest request){
        
        Map<String,String> parameters = new HashMap<String,String>();
        
        Enumeration<String> names = request.getParameterNames();
        String tmpName = null;
        if(names.hasMoreElements()){
            tmpName = names.nextElement();
            parameters.put(tmpName, request.getParameter(tmpName));
        }
        tmpName = null;
        names = null;
        return parameters;
    }
    
    /**
     * 将&doccode&表达式 替换成request请求参数值
     * @param template
     * @param request
     * @return
     */
    public static String replaceRequestExpression(String template,HttpServletRequest request,HttpSession session){
        try {        
        if(template.indexOf("&")!=-1){
            String copy="";
            List<String> requestEx = SqlParameterUtil.getReplaceParameter(template, "&");
            Map<String,String> params = SqlParameterUtil.getParameter2Map(request.getAttribute("wherePan")!=null?request.getAttribute("wherePan").toString():"");//替换有&符号的属性值 ,如果是null值 就替换成空值""。单据的dataHead.jsp取值页面。   操作时间 2014-6-26 10:38:29
            for(String str:requestEx){
                if(params.get(str.toLowerCase())==null){//没能找到wherPan属性的值情况 xin 2021-3-15 09:54:06
                    String v=request.getParameter(str);
                    params.put(str.toLowerCase(),(v!=null?v.replace("'", ""):v));//用request看是否能获取到值。
                }
                copy=(session.getAttribute("@"+str.toLowerCase())!=null?session.getAttribute("@"+str.toLowerCase()).toString():"");
                template = template.replace("&"+str+"&",params.get(str.toLowerCase())==null?copy:params.get(str.toLowerCase()));
            }
        }
        if(template.indexOf("@")!=-1){
            template=SessionKey.replaceSessionValue(template,session);
        }
            return template;
        } catch (Exception e) {
            return template;
        }
    }
}