5


URLを仮定します: http://localhost:9090/project1/url.jsp?id1=one&id2=two&id3=three

<%
String str=request.getRequestURL()+"?"+request.getQueryString();
System.out.println(str);
%>

これで、出力 http://localhost:9090/project1/url.jsp?id1=oneを取得します

しかし、これにより、他のパラメーターではなく、最初のパラメーター(つまり、id1 = one)のみを取得できます


しかし、JavaScriptを使用すると、すべてのパラメーターを取得できます

function a()
     {
        $('.result').html('current url is : '+window.location.href );
    }

html:

<div class="result"></div>

次のページで使用する現在の URL 値を取得したいが、セッションは使用したくない

上記の2つの方法のいずれかを使用して、jspのすべてのパラメータを取得するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

7

与えられた URL = http:/localhost:9090/project1/url.jsp?id1=one&id2=two&id3=three

request.getQueryString();

実際に id1=one&id2=two&id3=three を返す必要があります

HttpServletRequest.getQueryString JavaDocを参照してください。

私はかつて同じ問題に直面しました。おそらく、いくつかのテスト手順の失敗が原因です。その場合は、新しいブラウザ ウィンドウなど、クリアな環境でテストしてください。

Bhushan の回答は、パラメーター値をデコードするため、getQueryString と同等ではありません。

于 2014-03-21T15:11:57.647 に答える
5

これはあなたが探しているものだと思います..

String str=request.getRequestURL()+"?";
Enumeration<String> paramNames = request.getParameterNames();
while (paramNames.hasMoreElements())
{
    String paramName = paramNames.nextElement();
    String[] paramValues = request.getParameterValues(paramName);
    for (int i = 0; i < paramValues.length; i++) 
    {
        String paramValue = paramValues[i];
        str=str + paramName + "=" + paramValue;
    }
    str=str+"&";
}
System.out.println(str.substring(0,str.length()-1));    //remove the last character from String
于 2013-02-26T04:34:58.310 に答える