0

フォームボタンをクリックした後にリクエストをコントローラーサーブレットに送信することを控えています。ユーザーがログインしているかどうか、どのボタンが押されたかを確認する必要があります。

最初の部分は正常に動作しますが、結果をパラメーターとして設定し、要求を JSP ページに転送しようとすると、パラメーター「ボタン」は常に null を返します。なぜこれが起こっているのかを誰かが理解するのを手伝ってくれますか? 多分これを行うためのより良い方法がありますか?

サーブレット:

request.setAttribute("Buttons", "Add a new coupon");
request.getRequestDispatcher("/admin_main.jsp").forward(request,response);

JSP:

if (request.getParameter("Buttons") != null) {
    // ...
} 
4

1 に答える 1

3

if(request.getAttribute("Buttons") != null)動作します。

情報:

request.getParameter()リクエストパラメータ (つまり、html フォームを投稿することによって送信されたデータ) を抽出するには、常に aを実行します。常に文字列値を返し、request.getParameter()データはクライアントから取得されます。

request.getAttribute()サーバー側のリクエストスコープに追加されたオブジェクトを取得するために常に使用します。つまり、 を使用しrequest.setAttribute()ます。

于 2012-05-11T03:39:34.617 に答える