Possible Duplicate:
How can I obtain values of key-value pair from a Hashmap?
QueryStats queryStats=new QueryStats();
Map parameterMap = request.getParameterMap()==null? null:new HashMap(request.getParameterMap());
System.out.println("Query2:" + parameterMap);
Collection newParamsValue=parameterMap.values();
Object newParams[]=newParamsValue.toArray();
StringBuffer strParam=new StringBuffer() ;
int l=newParams.length;
for(int i=0;i<l;i++){
strParam=strParam.append(newParams[i].toString());
}
output: Query2:{sortPrefix=[Ljava.lang.String;@1d66aa9, searsOnly=[Ljava.lang.String;@1f4bdca, globalPrefix=[Ljava.lang.String;@d81cda, indent=[Ljava.lang.String;@4e57ba, qt=[Ljava.lang.String;@1619137, wt=[Ljava.lang.String;@84c1f9, fq=[Ljava.lang.String;@1dae27f}
我想从这个parameterMap中创建一个查询?怎么可能?
最佳答案
如果request
是一个 HTTP 请求(我怀疑它是),并且查询是一个数据库查询,那么您想要做的就是一个很大的禁忌。永远、永远、永远清理你的输入。暂时停下来,想象一个恶意者试图破坏或获取您的数据库内容,试图伪造一个 HTTP 请求来欺骗您毫无戒心的应用程序,使其执行此操作。
关于 HTTP 请求参数的另一件事是它们以字符串数组形式出现。如果您想要输入的字符串值,则需要将值转换为 String[]
首先,然后获取该数组的第一个元素。请注意,数组可以为空,并且此方法仅适用于单值输入,多个选择输入将返回多个元素。
关于java - 如何从 HashMap 创建查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176385/