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

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


我正在使用Enumeration enum = request.getParameterNames()并检查String是否包含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;

最佳答案

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
    }
}

10-01 06:33