0

JSPページからサーブレットに渡された次のフォームデータがあります

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

サーブレットでフォームデータを受信しようとしていますrequest.getParameterValues("qryStr");

ただし、常に null が返されますが、その理由は何でしょうか? ページが送信されたときのJSPで、ビジュアル検索を渡していますvisualSearch.searchQuery.facets()

どんな助けも非常に高く評価されます。

編集 1

データをサーブレットに渡すためのコード スニペット

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

        }
4

1 に答える 1

1

提供したクエリ文字列に基づいて (これも投稿したクロム表現に基づいて正しく見えません)、2 つの異なるパラメーターがサーバーに送信されます。最初のものには名前が付けられqryStr[0][Value]、値EMPNAMEがあり、2 番目のものには名前が付けられqryStr[1][Search]、値がありますjack

したがって、これらは 2 つの完全に異なるパラメーターであり、名前が異なります。

request.getParameterValues("qryStr")という名前のパラメータの値を返しますqryStr。したがって、クエリ文字列が次の場合、EMPNAME と jack が返されます。

 qryStr=EMPNAME&qryStr=jack

つまり、指定されたパラメーターがおよびそれぞれの値としてqryStr2 回送信された場合。EMPNAMEjack

したがって、サーブレットの最初のパラメーターの値を取得するには、 を呼び出す必要がありますrequest.getParameter("qryStr[0][Value]")。2 番目のパラメーターの値を取得するには、 を呼び出す必要がありますrequest.getParameter("qryStr[1][Search]")。サーブレット API には、これらのパラメーターを解析してパラメーターのグリッドのようなものを作成するのに役立つメソッドはありません。あなたは自分でそれをしなければならないでしょう。

于 2013-11-03T09:10:53.873 に答える