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

时间:2013-11-03 12:02:41

标签: java servlets collections

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

qryStr[0][Value]:EMPNAME
qryStr[1][Search]:jack
qryStr[2][filter]:or
qryStr[3][Value]:EMPNO
.......
.......

我正在使用Enumeration enum = request.getParameterNames()并检查String是否包含字符串qryStr

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

最佳方法是什么?

查询代码段

select * from my_table
WHERE contains (my_col,'jack 
INPATH (/HELPER/EMPNAME)') > 0

如果用户选择qryStr[0][Value]:EMPNAMEqryStr[1][Search]:jackqryStr[2][filter]:orqryStr[3][Search]:jill等值,则查询将如下所示

select * from my_table
WHERE contains (my_col,'jack or jill
INPATH (/HELPER/EMPNAME)') > 0

如果用户选择qryStr[0][Value]:EMPNAMEqryStr[1][Search]:jackqryStr[2][filter]:orqryStr[3][Value]:SUPERVISOR等值,则查询将如下所示

select * from my_table
WHERE CONTAINS(my_col,'jack INPATH(/HELPER/EMPNAME) and jill 
INPATH(/HELPER/SUPERVISOR)') > 0;

1 个答案:

答案 0 :(得分:2)

for (Map.Entry<String, String[]> entry: request.getParameterMap()) {
    String parameterName = entry.getKey();
    if (parameterName.startsWith("qryStr")) {
        // do what you want with the parameter name and its values
    }
}