2013-03-22 50 views
-1

我的JSP页面中有表单字段。它具有少数值的选择标签。我只需要选择一个值,并基于我的servlet中的值,我将转发到其他页面。 下面是选择标签SELECT tag值没有在Servlet中获得

<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> 

在我的servlet,我根据所选择的值处理我的JSP代码。这里是我的servlet代码

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,它将不起作用。问题是什么?我该怎么办?由于

+1

呃,你知道,你可以简单地使用'String option = request.getParameter(“options”)'。另外,你的意思是_ do not work_?它会给你一个错误?如果是这样,错误是什么意思? – 2013-03-22 11:27:04

回答

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); 
     } 
    } 
+1

不应该是代码中的request.getParameter(“options”)而不是String selectedValue = request.getParameterValues(“options”); ? – 2014-07-03 13:58:01

0

,你只能选择一个选项,让真正的雁是:

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); 
     } 
    }