From 3588cfb82278d936e302914766e04c1eb98caaca Mon Sep 17 00:00:00 2001 From: lyf666 Date: Sun, 19 Feb 2017 12:39:22 +0800 Subject: [PATCH] modify jquery filter --- pom.xml | 2 +- .../cloudowr/sdk/JQueryParameterFilter.java | 28 +++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 726622e..0fb61ca 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.cloudowr sdk - 1.1.0 + 1.1.1 diff --git a/src/main/java/cn/cloudowr/sdk/JQueryParameterFilter.java b/src/main/java/cn/cloudowr/sdk/JQueryParameterFilter.java index b87063b..c61f1c4 100644 --- a/src/main/java/cn/cloudowr/sdk/JQueryParameterFilter.java +++ b/src/main/java/cn/cloudowr/sdk/JQueryParameterFilter.java @@ -2,7 +2,11 @@ package cn.cloudowr.sdk; import com.jfinal.aop.Interceptor; import com.jfinal.aop.Invocation; +import com.jfinal.core.Controller; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import java.util.HashMap; import java.util.Map; /** @@ -11,8 +15,28 @@ import java.util.Map; public class JQueryParameterFilter implements Interceptor{ @Override public void intercept(Invocation inv) { - Map paraMap = inv.getController().getParaMap(); - paraMap.remove("_"); + Controller controller = inv.getController(); + ParameterRequestWrapper wrapper = new ParameterRequestWrapper(controller.getRequest()); + if (wrapper.getParameterMap().containsKey("_")) { + wrapper.getParameterMap().remove("_"); + } + controller.setHttpServletRequest(wrapper); + inv.invoke(); } + + static class ParameterRequestWrapper extends HttpServletRequestWrapper { + + private Map params = new HashMap<>(); + + public ParameterRequestWrapper(HttpServletRequest request) { + super(request); + this.params.putAll(request.getParameterMap()); + } + + @Override + public Map getParameterMap() { + return params; + } + } }