java - 如何从 HashMap 创建查询?

标签 java

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/

相关文章:

java - 如何修复 java.lang.UnsupportedClassVersionError : Unsupported major. 次要版本

java - Firebase 实时数据库中的节点是什么?

java - Java 中的图像分割库

java.lang.NoSuchMethodException : org. hibernate.validator.ClassValidator 缝 weblogic 10.3

java - Artifact 显示了 JTextPane 背景颜色的自定义颜色的使用

java - 对话框关闭后显示 Activity 而不重置

java - 不能从静态上下文中引用的非静态变量

java - 以分钟为单位的两个 DateTime 对象之间的差异

java - 如何将多个值添加到 TreeMap 中的同一个键?

java - 强制 java 应用程序使用特定的 jre