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

时间:2012-02-13 07:51:10

标签: java mysql html jsp

嗨我正在尝试使用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 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

不确定你想要实现什么,但看起来你在这里做错了。您应该在jsp页面上构建下拉菜单,例如:

<select>
<%
while(re.next())
{
String name1 = re.getString(1);

%>
<option value="<%= name1%>"><%= name1%></option>
<% 
}
%>
</select>

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