【问题标题】:how retrieve values from mysql using Dropdown list through a search statement JSP?如何通过搜索语句 JSP 使用下拉列表从 mysql 检索值?
【发布时间】:2014-07-31 20:15:11
【问题描述】:

jsp页面

这是应用下拉列表选项以检索和添加一组值的 jsp 页面

   <tr>
    <td>&nbsp;</td>
    <td width="25%">Vehicle Type :-</td>
    <td width="25%">
      <select value="${veh_type}" style="width:115px;" name="slct_V_type" id="slct_V_type">         
        <option>Select a Type</option>
        <option value="Wagon">Wagon</option>
        <option value="Truck">Truck</option>
        <option value="Bus">Bus</option>
        <option value="SUV">SUV</option>
        <option value="Sedan">Sedan</option>
        <option value="Minivan">Minivan</option>
        <option value="Luxury">Luxury</option>
        <option value="Hybrid">Hybrid</option>
        <option value="Hatchback">Hatchback</option>
        <option value="Coupe">Coupe</option>
      </select></td>
    <td width="25%">&nbsp;</td>

    </tr>

     <td width="25%"><input style="width:100px;" type="submit" name="bttnsrch" id="bttnsrch" value="Search" /></td>

小服务程序

这是将数据传递到数据库的servlet搜索按钮编码

 if(request.getParameter("bttnsrch")!=null)
        {
            int Reg=Integer.parseInt(request.getParameter("Reg_number"));
            ResultSet rs=SQL.CaptureVehicleInfo(Reg);
            while(rs.next())
            {

                String veh_type=rs.getString(1);
                request.setAttribute("veh_type", veh_type);

                String reg_num=rs.getString(2);
                request.setAttribute("reg_num", reg_num);

                String veh_brand=rs.getString(3);
                request.setAttribute("veh_brand", veh_brand);

                String veh_model=rs.getString(4);
                request.setAttribute("veh_model", veh_model);

                String veh_man_year=rs.getString(5);
                request.setAttribute("veh_man_year", veh_man_year);

                String no_of_seat=rs.getString(6);
                request.setAttribute("no_of_seat", no_of_seat);

                String trasm=rs.getString(7);
                request.setAttribute("trasm", trasm);

                String air_con=rs.getString(8);
                request.setAttribute("air_con", air_con);
            }
            request.getRequestDispatcher("Vehicle_Information.jsp").forward(request, response);
            response.sendRedirect("Vehicle_Information.jsp");
        }

数据库连接

这是我创建的用于从数据库中搜索车辆信息的 SQL 语句。

     public ResultSet CaptureVehicleInfo(int Register_number)
   {
       ResultSet rs;
       try
       {
           SQL=createConnection();

           PreparedStatement ps;
           String str="SELECT * FROM vehicle_information WHERE Register_number=?";
           ps=SQL.prepareStatement(str);

           ps.setInt(1, Register_number);


            rs=ps.executeQuery();
            return rs;

       }
       catch(Exception e)
       {
           rs=null;
           return rs;
       }
   }

【问题讨论】:

  • 您的问题是什么?有什么错误吗?
  • 点击搜索按钮后,我无法检索下拉列表中的值。
  • 请说明单击按钮后会发生什么。如果错误发布您的堆栈跟踪
  • 我在下拉列表中没有得到任何值,但它只检索其他文本字段值。
  • '' 通过这我检索文本字段的值,但不检索下拉列表的值

标签: mysql jsp


【解决方案1】:

您需要迭代select 标记内的值。您可以使用jstl forEach 标签轻松做到这一点,如下所示,

 <select style="width:115px;" name="slct_V_type" id="slct_V_type">
       <c:forEach var="temp" items="${veh_type}">
            <option value="${temp.name}">${temp.name}</option>                  
        </c:forEach>
  </select>

不要忘记添加 taglib 以获得 jstl 支持,

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

我希望${veh_type} 包含对象列表

【讨论】:

  • 感谢您的回答,但 ${veh_type} 不包含对象列表,但它是分配给该特定字段的值,以便在执行搜索按钮后检索车辆类型。
猜你喜欢
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 2020-04-11
  • 2011-10-09
  • 1970-01-01
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多