有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

尝试用Java中的Mysql数据填充HTML下拉列表时出错?

您好,我试图用mysql数据填充html下拉列表,但我遇到了一个错误,我在java页面上使用html时添加了字符串,并调用了字符串生成器中的方法,在jsp页面上显示html调用它,我的代码是

      html.append("<select name='pic'>");
  html.append("<option value='none'>Select</option>  ");
  html.append("<%");
  html.append("Class.forName('com.mysql.jdbc.Driver').newInstance();  ");
  html.append("Connection con = DriverManager.getConnection('jdbc:mysql://192.168.1.104:3306/networkmonitoring','mohsin','123456');");
  html.append("Statement stmt = con.createStatement();  ");
  html.append("ResultSet rs = stmt.executeQuery('Select objecttype_name from network_objecttype');");
  html.append("while(rs.next()){");
      html.append("%>");
      html.append("<option value='<%=rs.getString('objecttype_name')%>'><%=rs.getString('objecttype_name')%></option>");
      html.append("rs.getString(1)");
       html.append("<%");
  html.append("}");
 html.append("%>");
  html.append("</select>");

但我无法从mysql获取数据,只能从下拉列表中获取数据

'><%=rs.getString('objecttype_name')%>

希望你的答复

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    将html页面更改为jsp并遵循以下代码:

    <%@page import="java.sql.*"%>
    <html>
    <form name="form" method="post" >
    <b>Select a country:</b> </td>
    <select name="sel"><option value="">< -Select -></option>
    <%
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String connectionURL = "jdbc:mysql://localhost:3306/test";
    Connection connection= DriverManager.getConnection('jdbc:mysql://192.168.1.104:3306/networkmonitoring','mohsin','123456');");
    PreparedStatement psmnt = connection.prepareStatement("select objecttype_name from network_objecttype ");
    ResultSet results = psmnt.executeQuery();
    while(results.next()){
    String name = results.getString('objecttype_name');
    String id = results.getString('objecttype_name');
    %><option value="<%= name %>"><%=name%></option>
    <%} results.close(); psmnt.close(); %>
    </select><br>
    </form>
    
  2. # 2 楼答案

    不确定你到底想达到什么目的,但看起来你在这里做错了。您应该在jsp页面上构建下拉列表,如:

    <select>
    <%
    while(re.next())
    {
    String name1 = re.getString(1);
    
    %>
    <option value="<%= name1%>"><%= name1%></option>
    <% 
    }
    %>
    </select>
    

    或者在servlet中构建下拉代码(不带scriplets)并将其发送到浏览器。 现在看起来您正试图在servlet中构建一个JSP scriplet。 看看这里关于如何构建下拉列表的示例,你会在web上找到许多示例,这里有一个类似的问题:retrieve dropdown list from mysql database and insert to database in jsp