我正在从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]:EMPNAME
,qryStr[1][Search]:jack
,qryStr[2][filter]:or
,qryStr[3][Search]:jill
之类的值,则查询看起来像select * from my_table
WHERE contains (my_col,'jack or jill
INPATH (/HELPER/EMPNAME)') > 0
如果用户选择
qryStr[0][Value]:EMPNAME
,qryStr[1][Search]:jack
,qryStr[2][filter]:or
,qryStr[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
}
}