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;
|
}
|
}
|
}
|