如何从Visual Search表单中获取值

时间:2013-11-03 08:33:30

标签: jsp servlets request

我将以下表单数据从JSP页面传递到servlet

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

在Servlet中我试图通过request.getParameterValues("qryStr");

接收表单数据

然而它总是返回null,可能是什么原因?在提交页面的JSP中,我通过了Visual Search visualSearch.searchQuery.facets()

任何帮助都非常值得赞赏。

编辑1

用于将数据传递到servlet的代码片段

function qrySearch(){
                $('#toolStr').datagrid('load',{
                        url: 'myservlet',
                        qryStr: visualSearch.searchBox.value(),
            });                        

        }

1 个答案:

答案 0 :(得分:1)

根据您提供的查询字符串(看起来不正确,基于您也发布的Chrome表示),将两个不同的参数发送到服务器。第一个名为qryStr[0][Value],其值为EMPNAME,第二个名为qryStr[1][Search],其值为jack

所以,这是两个完全不同的参数:它们的名称不同。

request.getParameterValues("qryStr")返回名为qryStr的参数的值。因此,如果查询字符串是

,它将返回EMPNAME和jack
 qryStr=EMPNAME&qryStr=jack

即。如果名为qryStr的参数已发送两次,则EMPNAMEjack为相应值。

要获取servlet中第一个参数的值,需要调用request.getParameter("qryStr[0][Value]")。要获取第二个参数的值,您需要调用request.getParameter("qryStr[1][Search]")。 servlet API没有提供任何方法来帮助您解析这些参数并从中创建类似于参数网格的方法。你必须自己做。