【问题标题】:How to use a dropdown list to pass paramater from a JSP to a Controller?如何使用下拉列表将参数从 JSP 传递到控制器?
【发布时间】:2017-12-14 19:35:26
【问题描述】:

所以我在我的 JSP 中使用引导程序,我有下面的下拉列表,我试图将 dropDownList 作为参数传递给映射到 Home 的 servlet/控制器,我可以在其中查询基于dropDownList 的值。我在 servlet/controller 上设置了所有东西来接收和查询数据库,但我无法获取下拉列表来传递参数。关于如何实现这一目标的任何想法?

   <form action="Home" method="post">
            <select class="form-control" name="dropDownList">
                <option selected value="default"> Please select an option</option>
                <option value="ATM">ATM</option>
                <option value="Restrooms">Restroom</option>
                <option value="Vending machine">Vending Machine</option>
                <option value="Food & Drink">Food & Drink</option>
                <option value="Parking Kiosk">Parking Kiosk</option>
                <option value="Ramp">Ramp</option>
            </select>
    </form>

我获取参数的服务器端部分如下:

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String type= request.getParameter("dropDownList");
    }

【问题讨论】:

  • 你能在你试图获得下拉选择值的地方显示你的服务器端代码吗?它应该类似于String selected_value = request.getParameter("dropDownList") ;
  • @Anand Dwivedi 我添加了你要求的代码,它本质上就是你在分钟内所拥有的

标签: html twitter-bootstrap jsp servlets model-view-controller


【解决方案1】:

在服务器端使用它

String  selectedItem;
    if(request.getParameter("dropDownList")!=null)
    {
       selectedItem=request.getParameter("dropDownList");
    }

【讨论】:

  • @Sreejesh K Nair。问题是它总是以空值出现,参数永远不会被传递。我找到了在表单中使用 &lt;input type ="submit" class= "btn btn-default" &gt; 的解决方法,但我试图避免让用户再单击一个按钮来选择一个选项。
  • @Squanchinator。当您想要拦截 HTTP GET 请求时,您应该使用 doGet()。当你想拦截 HTTP POST 请求时,你应该使用 doPost()。
  • @Sreejesh K Nair 这正是我所做的,正如您从我的帖子中可以看出的那样,我在表单中使用了method = "post" ,并在我的控制器中截获了doPost()。还有什么好主意吗?
猜你喜欢
  • 1970-01-01
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多