java web 改表_javaweb修改表单参数---使用过滤器

第一步:创建一个请求的包装类packagecn.gzsxt.basic.filter;importjava.util.Enumeration;importjava.util.Map;importjava.util.Vector;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletRequestWrapper;public class NullValueHandlerRequestWrapper extendsHttpServletRequestWrapper {private MapparameterMap;public void setParameterMap(MapparameterMap) {this.parameterMap =parameterMap;

}publicNullValueHandlerRequestWrapper(HttpServletRequest request) {super(request);

}

@Overridepublic EnumerationgetParameterNames() {

Vector vector = new Vector(parameterMap.keySet());returnvector.elements();

}

@OverridepublicString getParameter(String name) {

String[] results=parameterMap.get(name);return results[0];

}

@Overridepublic MapgetParameterMap() {return this.parameterMap;

}

@OverridepublicString[] getParameterValues(String name) {return this.parameterMap.get(name);

}

}

第二步:实现过滤器调用包装后的请求packagecn.gzsxt.basic.filter;importjava.io.IOException;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Map.Entry;importjava.util.Set;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServletRequest;public class NullvalueHandlerFilter implementsFilter{

@Overridepublic void init(FilterConfig filterConfig) throwsServletException {

}

@Overridepublic voiddoFilter(ServletRequest request, ServletResponse response, FilterChain chain)throwsIOException, ServletException {//获得所有字段

Map parameterMap = new HashMap<>(request.getParameterMap());

Set> entrySet =parameterMap.entrySet();

Iterator> iterator =entrySet.iterator();while(iterator.hasNext()) {

Entry entry =iterator.next();if (entry.getValue()!=null) {for(int i=0;i

iterator.remove();

}

}

}

}//parameterMap就会将空字符串转成null.//注意:request对象是无法修改表单数据的!!ServletRequest对象是容Tomcat产生的,我们有没有办法new创建.

NullValueHandlerRequestWrapper wrapper =newNullValueHandlerRequestWrapper((HttpServletRequest)request);

wrapper.setParameterMap(parameterMap);//获得重写后的请求

chain.doFilter(wrapper, response);

}

@Overridepublic voiddestroy() {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值