Java 请求ParameterNames()并添加到集合对象

Java 请求ParameterNames()并添加到集合对象,java,servlets,collections,Java,Servlets,Collections,我从JSP页面获取以下格式的表单数据 qryStr[0][Value]:EMPNAME qryStr[1][Search]:jack qryStr[2][filter]:or qryStr[3][Value]:EMPNO ....... ....... 我正在使用枚举enum=request.getParameterNames()并检查字符串是否包含字符串qryStr 我想做的是,如果字符串包含qryStr,那么我想将它添加到某种集合对象并构造一个查询 最好的方法是什么 查询代码段 selec

我从JSP页面获取以下格式的表单数据

qryStr[0][Value]:EMPNAME
qryStr[1][Search]:jack
qryStr[2][filter]:or
qryStr[3][Value]:EMPNO
.......
.......
我正在使用枚举enum=request.getParameterNames()并检查字符串是否包含字符串
qryStr

我想做的是,如果字符串包含
qryStr
,那么我想将它添加到某种集合对象并构造一个查询

最好的方法是什么

查询代码段

select * from my_table
WHERE contains (my_col,'jack 
INPATH (/HELPER/EMPNAME)') > 0
如果用户选择像
qryStr[0][Value]:EMPNAME
qryStr[1][Search]:jack
qryStr[2][filter]:或
qryStr[3][Search]:jill这样的值,则查询如下

select * from my_table
WHERE contains (my_col,'jack or jill
INPATH (/HELPER/EMPNAME)') > 0
select * from my_table
WHERE CONTAINS(my_col,'jack INPATH(/HELPER/EMPNAME) and jill 
INPATH(/HELPER/SUPERVISOR)') > 0;
如果用户选择值,如
qryStr[0][Value]:EMPNAME
qryStr[1][Search]:jack
qryStr[2][filter]:或
qryStr[3][Value]:SUPERVISOR
,则查询如下

select * from my_table
WHERE contains (my_col,'jack or jill
INPATH (/HELPER/EMPNAME)') > 0
select * from my_table
WHERE CONTAINS(my_col,'jack INPATH(/HELPER/EMPNAME) and jill 
INPATH(/HELPER/SUPERVISOR)') > 0;
for(Map.Entry:request.getParameterMap()){
字符串参数name=entry.getKey();
if(parameterName.startsWith(“qryStr”)){
//对参数名称及其值执行所需操作
}
}

我可以按插入到集合中的顺序阅读此内容吗?阅读什么?哪个收藏?对不起,我被误解了。编辑你的问题。我看不到你的代码,所以我说不出它为什么会导致这个编译错误。当我添加你发布的代码时,我得到了
接口java.util.Map not allowed here
你能根据你发布的数据显示查询是什么样子吗?@A4L我已经包含了查询代码片段。我的查询有点复杂,这就是我尝试使用集合的原因。查询必须基于我收到的值构造,我需要检查值是否为空。您显示的查询结果不太清楚。你能解释一下你是如何从原始数据中得出这个结论的吗?其中的
过滤器
和另一个
在哪里?而
EMPNAME
jack
在所有这一切中都在哪里?你的意思是
包含(我的| col,| | jack | | | INPATH(/HELPER/“| | EMPNAME | | |”)>0
?@A4L很抱歉,我已经更正了我的查询。不用担心!过滤器和其他值呢?