-1

JSP ページにフォーム フィールドがあります。値の少ないSelectタグがあります。値を 1 つだけ選択する必要があり、それに基づいてサーブレットで他のページに転送します。SelectタグのJSPコードは次のとおりです

<select name="options">
    <option>Choose Your Option</option>
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
    <option value="option4">Option 4</option>
</select>

私のサーブレットでは、選択した値に基づいて処理しています。これが私のサーブレットコードです

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
String options[]=request.getParameterValues("options");
        if(options[0].equals("option1"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option1.jsp");
            rd.forward(request, response);
        }
        else if(options[0].equals("option2"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option2.jsp");
            rd.forward(request, response);
        }
        else if(options[0].equals("option3"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option3.jsp");
            rd.forward(request, response);
        }
        else if(options[0].equals("option4"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option4.jsp");
            rd.forward(request, response);
        }
    }

本当の問題は、オプション 1 またはオプション 2 を選択すると、それぞれのページに転送されることです。しかし、オプション 3 またはオプション 4 を選択すると、機能しません。何が問題ですか?私は何をすべきか?ありがとう

4

2 に答える 2

1
String option = request.getParameter("options")

これにより、選択した値が得られます

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
       String selectedValue=request.getParameterValues("options");
        if(selectedValue.equals("option1"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option1.jsp");
            rd.forward(request, response);
        }
        else if(selectedValue.equals("option2"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option2.jsp");
            rd.forward(request, response);
        }
        else if(selectedValue.equals("option3"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option3.jsp");
            rd.forward(request, response);
        }
        else if(selectedValue.equals("option4"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option4.jsp");
            rd.forward(request, response);
        }
    }
于 2013-03-22T11:27:33.107 に答える
0

1 つのオプションしか選択できないため、真の答えは次のとおりです。

String selectedValue=req.getParameter("genre");
if(option.equals("option1"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option1.jsp");
            rd.forward(request, response);
        }
        else if(option.equals("option2"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option2.jsp");
            rd.forward(request, response);
        }
        else if(option.equals("option3"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option3.jsp");
            rd.forward(request, response);
        }
        else if(option.equals("option4"))
        {
            RequestDispatcher rd=request.getRequestDispatcher("Option4.jsp");
            rd.forward(request, response);
        }
    }
于 2015-10-10T17:39:48.297 に答える