Преглед изворни кода

不同环境HashMap paramMap = (HashMap) super.getParameterMap()可能出现的问题

KeYuan пре 8 година
родитељ
комит
f7145b350b

+ 38 - 6
src/main/java/com/key/common/plugs/xss/XssHttpWrapper.java

@@ -78,8 +78,7 @@ public class XssHttpWrapper extends HttpServletRequestWrapper {
    /**
     * @return
     */
-   public Map getParameterMap() {
-
+   /*public Map getParameterMap() {
        HashMap paramMap = (HashMap) super.getParameterMap();
        paramMap = (HashMap) paramMap.clone();
 
@@ -94,8 +93,42 @@ public class XssHttpWrapper extends HttpServletRequestWrapper {
            entry.setValue(values);
        }
        return paramMap;
-   }
-    
+   }*/
+
+    /**
+     * 从request中获得参数Map,并返回可读的Map
+     *
+     * @param request
+     * @return
+     */
+    public static Map getParameterMap(HttpServletRequest request) {
+        // 参数Map
+        Map properties = request.getParameterMap();
+        // 返回值Map
+        Map returnMap = new HashMap();
+        Iterator entries = properties.entrySet().iterator();
+        Map.Entry entry;
+        String name = "";
+        String value = "";
+        while (entries.hasNext()) {
+            entry = (Map.Entry) entries.next();
+            name = (String) entry.getKey();
+            Object valueObj = entry.getValue();
+            if(null == valueObj){
+                value = "";
+            }else if(valueObj instanceof String[]){
+                String[] values = (String[])valueObj;
+                for(int i=0;i<values.length;i++){
+                    value = values[i] + ",";
+                }
+                value = value.substring(0, value.length()-1);
+            }else{
+                value = valueObj.toString();
+            }
+            returnMap.put(name, value);
+        }
+        return returnMap;
+    }
 
 
     /**
@@ -205,8 +238,7 @@ public class XssHttpWrapper extends HttpServletRequestWrapper {
     }
 
     /**
-     * 处理插件之所以报 mismatched tree node: EOF expecting错误是因为其对注入的脚本格式有校验
-     * 比如注入<scirpt>而没有匹配的结束标签</scirpt>时会报该错误,注入代码中开始标签和结束标签不匹配时会出该问题
+     * 插件之所以报 mismatched tree node: EOF expecting错误是因为其对注入的脚本格式有校验
      * @param value
      * @return
      */

+ 1 - 5
src/main/java/com/key/dwsurvey/action/MySurveyAction.java

@@ -50,18 +50,16 @@ public class MySurveyAction extends CrudActionSupport<SurveyDirectory, String>{
 	    String result="false";
 	    try{
 		User user = accountManager.getCurUser();
-		System.out.println("deleteId:"+id+":"+user);
 		if(user!=null){
 		    String userId=user.getId();
 		    SurveyDirectory surveyDirectory=surveyDirectoryManager.getSurveyByUser(id,userId);
 		    if(surveyDirectory!=null){
-		    	System.out.println("deleteId:"+id);
 		    	surveyDirectoryManager.delete(id);
 		    	result="true";
 		    }
 		}
 	    }catch (Exception e) {
-		result="false";
+			result="false";
 	    }
 	    response.getWriter().write(result);
 	    return null;
@@ -76,10 +74,8 @@ public class MySurveyAction extends CrudActionSupport<SurveyDirectory, String>{
 			if(user!=null){
 				String userId=user.getId();
 				SurveyDirectory surveyDirectory=surveyDirectoryManager.getSurveyByUser(id, userId);
-				System.out.println(id+":"+entity.getSurveyState());
 				if(surveyDirectory!=null){
 					int surveyState=entity.getSurveyState();
-					System.out.println("surveyState:"+surveyState);
 					surveyDirectory.setSurveyState(surveyState);
 				}
 			}

+ 1 - 6
src/main/java/com/key/dwsurvey/action/MySurveyDesignAction.java

@@ -104,10 +104,8 @@ public class MySurveyDesignAction extends ActionSupport{
 			//保存静态HTML路径
 			//buildSurveyHtml();
 			String url="/survey!answerSurvey.action?surveyId="+surveyId;
-			System.out.println(url);
 			String filePath="WEB-INF/wjHtml/"+dateFormat.format(createDate);
 			String fileName=surveyId+".html";
-			System.out.println("生成静态html:"+fileName);
 			new JspToHtml().postJspToHtml(url, filePath, fileName);
 			survey.setHtmlPath(filePath+fileName);
 			//设置问卷状态为发布状态
@@ -215,15 +213,13 @@ public class MySurveyDesignAction extends ActionSupport{
 				    surveyDetail.setShowShareSurvey(Integer.parseInt(showShareSurvey));
 				    survey.setIsShare(Integer.parseInt(showShareSurvey));
 				}
-				System.out.println("showAnswerDa:"+showAnswerDa);
 				if(showAnswerDa!=null && !"".equals(showAnswerDa)){
 				    surveyDetail.setShowAnswerDa(Integer.parseInt(showAnswerDa));
 				    survey.setViewAnswer(Integer.parseInt(showAnswerDa));
 				}
 				
 				surveyDirectoryManager.save(survey);
-				
-				System.out.println("...saveDir..."+svyNote);
+
 				response.getWriter().write("true");
 				
 			}
@@ -301,7 +297,6 @@ public class MySurveyDesignAction extends ActionSupport{
 		if (!file.exists()) {
 			file.createNewFile();
 		}
-		System.out.println(name);
 		FileOutputStream fos = new FileOutputStream(file);
 		
 		os.writeTo(fos);

+ 0 - 2
src/main/java/com/key/dwsurvey/action/MySurveyStyleAction.java

@@ -126,10 +126,8 @@ public class MySurveyStyleAction extends CrudActionSupport<SurveyStyle, String>{
 	public String ajaxGetStyle() throws Exception {
 	    try{
 			HttpServletResponse response=Struts2Utils.getResponse();
-			System.out.println(id);
 			entity=surveyStyleManager.get(id);
 			String jsonObj=JSONObject.fromObject(entity).toString();
-			System.out.println(jsonObj);
 			response.getWriter().write(jsonObj);
 		 }catch (Exception e) {
 			e.printStackTrace();

+ 19 - 0
src/main/resources/log4j2.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Logger name="com.demo.NamedHierarchy" level="trace">
+            <AppenderRef ref="Console"/>
+        </Logger>
+        <Logger name="com.demo" level="debug">
+            <AppenderRef ref="Console"/>
+        </Logger>
+        <Root level="error">
+            <AppenderRef ref="Console"/>
+        </Root>
+    </Loggers>
+</Configuration>