欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

request如何setParamter

发布时间:2024/1/23 编程问答 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 request如何setParamter 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先request中是没有这个setParamter方法的,所以得想个方法做这个事情

一  写一个 ParameterRequestWrapper.java 类

package com.jn.org.jasig.cas.client.jn;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import java.util.Enumeration; import java.util.Map; import java.util.Vector;/*** 该类用于改写request.getParameterNames里的值* 使用方法:HashMap newParam=new HashMap(request.getParameterMap());* ParameterRequestWrapper wrapRequest=new ParameterRequestWrapper(request,newParam);* */ public class ParameterRequestWrapper extends HttpServletRequestWrapper {private Map params;public ParameterRequestWrapper(HttpServletRequest request, Map newParams) {super(request);this.params = newParams;}public Map getParameterMap() {return params;}public Enumeration getParameterNames() {Vector l = new Vector(params.keySet());return l.elements();}public String[] getParameterValues(String name) {Object v = params.get(name);if (v == null) {return null;} else if (v instanceof String[]) {return (String[]) v;} else if (v instanceof String) {return new String[] { (String) v };} else {return new String[] { v.toString() };}}public String getParameter(String name) {Object v = params.get(name);if (v == null) {return null;} else if (v instanceof String[]) {String[] strArr = (String[]) v;if (strArr.length > 0) {return strArr[0];} else {return null;}} else if (v instanceof String) {return (String) v;} else {return v.toString();}} }
二 假设现在要去掉 request中一个 ticket 参数

/*** 清理票据* */private void clearTicket(HttpServletRequest request){if(request==null) return ;HashMap newParam=new HashMap(request.getParameterMap());newParam.remove("ticket");ParameterRequestWrapper wrapRequest=new ParameterRequestWrapper(request,newParam);request = wrapRequest;}


总结

以上是生活随笔为你收集整理的request如何setParamter的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。