读书人

替代request.getParameter(quot;quot;)的Query

发布时间: 2012-11-10 10:48:51 作者: rapoo

代替request.getParameter("...")的QueryStringParser类

import javax.servlet.http.HttpServletRequest;import java.util.Map;import java.util.StringTokenizer;import java.util.HashMap;import java.net.URLDecoder;/** * Copyright (c) 2008 * Author: Wooce Yang * Date: 2008-1-29 * Time: 10:12:47 * Description:  解决resin服务器上取不到urlencode后的中文参数的问题,需要自己从queryString中解析 */public class QueryStringParser {    Map paramMap;    HttpServletRequest request;    public QueryStringParser(HttpServletRequest request) {        String queryString = request.getQueryString();        if (queryString == null) {            paramMap = null;            this.request = request;            return;        } else            paramMap = new HashMap();        StringTokenizer st = new StringTokenizer(queryString, "&");        while (st.hasMoreTokens()) {            String pairs = st.nextToken();            String key = pairs.substring(0, pairs.indexOf('='));            String value = pairs.substring(pairs.indexOf('=') + 1);            paramMap.put(key, value);        }    }    public String get(String key) {        if(paramMap==null)            return request.getParameter(key);        else            return URLDecoder.decode((String) paramMap.get(key));    }}


使用方法:

        QueryStringParser parser = new QueryStringParser(request);        String curPath = parser.get("curpath");


1 楼 liuxuejin 2011-08-19 除了这个方法还有其他的吗???

读书人网 >软件架构设计

热点推荐