求一个从数据库中提取的下拉列表 form 对象如何得到数据库的记录,绑定到 下拉列表中... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像是 hashmap 但不会用 我有asp版本的,java的没有,楼主要的话可以给我留言 把form封到 arraylist 里面 ArrayList alValue = new ArrayList();读取结果集放到while (rs.next()) { alValue.add(value);}定义变量生成下拉StringBuffer buffer = new StringBuffer("");for (int i = 0; i < alValue.size(); i++) {buffer.append("<option value='" + (String) alValue.get(i) + "' selected>" + (String) alValue.get(i) + "</option>\n");}大体思路就是这么写,自己实现一下把 如果是用STRUTS需要在CONFIG中配置一下即可如果是用JSP直接取,跟"lsj19830812(李逵) "说得差不多,或者直接在页面中写 ***********jsp页面*************showuser.jsp<html:select property="userid"><html:options collection="userarray" property="userid" labelProperty="username" /></html:select>************Action**************public ActionForward showUser(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception { UserForm form = (UserForm) arg1; UserModel model = new UserModel(); arg2.setAttribute("userarray", model.getAllUser(this .getDataSource(arg2, "myds"))); return arg0.findForward("showuser"); }*************Model*************public ArrayList getAllUser(DataSource ds) { String sql = "select * from user"; DbManager manager = null; try { manager = new DbManager(ds.getConnection()); ResultSet rs = manager.execQuery(sql); ArrayList array = new ArrayList(); while (rs.next()) { UserForm form= new UserForm(); form.setUserid(rs.getInt("userid")); form.setUsername(rs.getString("username")); array.add(form); } rs.close(); return array; } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } finally { manager.close(); } return null; } <select name="courseName"><% List list = (new CourseDB(CLASSFORNAME,SERVANDDB,USER,PWD)).getCourseName(); Iterator it = list.iterator(); while(it.hasNext()) { CourseID courseID = (CourseID)it.next();%> <option value=<%=courseID.getCourseID()%>> <%=courseID.getCourseName()%> </option> <%}%> %></select>// 获取数据库中,所以课程的名称 public List getCourseName() throws Exception { List list = new ArrayList(); try { statement = con.createStatement(); rs = statement.executeQuery("select courseID,courseName from courseIDToName"); int course_id_count = 0; if(rs.next()) { course_id_count = rs.getInt(1); rs.close(); } if(course_id_count > 0) { rs = statement.executeQuery("select courseID,courseName from courseIDToName"); while ( rs.next() ) { CourseID courseID = new CourseID(); courseID.setCourseID(rs.getString("courseID")); courseID.setCourseName(rs.getString("courseName")); list.add(courseID); } } } catch ( Exception e ) { e.printStackTrace(); } finally { rs.close(); statement.close(); con.close(); } return list; } 写一个方法,该方法从数据库里取出数据,放在list里,然后在JSP页面中调用此方法,遍历返回的list就可以了,你把我上面的代码稍微改改就能用了。 读取结果集放到<select name=""><%while (rs.next()){%> <option value="<%=这里是从数据库里读出来的数值%>"><option><%}%></select> <option value="<%=在这里写上列名就OK了%>"><option> 什么叫预定义的集合元字符啊,元字符可以自定义吗??还有 \u是什么意思啊谢谢了 菜鸟求救!!我编译不了servlet的包 上网没有查到 请指教! 链接中的Title属性 在那能下载到servlet的源码(java文件)? 在哪里下载isapi_redirect.dll 在线等~~求助:) 请问那有servlet的教程和书籍下载。一定加分!!!!! hql 右外连接问题,求助 hibernate中级联(一对一)? 求助 如何关掉Hibernate运行是在控制台输出的日志。
ArrayList alValue = new ArrayList();
读取结果集放到
while (rs.next()) {
alValue.add(value);
}定义变量生成下拉
StringBuffer buffer = new StringBuffer("");
for (int i = 0; i < alValue.size(); i++) {
buffer.append("<option value='" + (String) alValue.get(i) + "' selected>" + (String) alValue.get(i) + "</option>\n");
}大体思路就是这么写,自己实现一下把
如果是用JSP直接取,跟"lsj19830812(李逵) "说得差不多,或者直接在页面中写
showuser.jsp<html:select property="userid">
<html:options collection="userarray" property="userid" labelProperty="username" />
</html:select>************Action**************
public ActionForward showUser(ActionMapping arg0, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
UserForm form = (UserForm) arg1;
UserModel model = new UserModel();
arg2.setAttribute("userarray", model.getAllUser(this
.getDataSource(arg2, "myds"))); return arg0.findForward("showuser");
}
*************Model*************
public ArrayList getAllUser(DataSource ds) {
String sql = "select * from user"; DbManager manager = null;
try {
manager = new DbManager(ds.getConnection());
ResultSet rs = manager.execQuery(sql); ArrayList array = new ArrayList();
while (rs.next()) { UserForm form= new UserForm();
form.setUserid(rs.getInt("userid"));
form.setUsername(rs.getString("username"));
array.add(form);
}
rs.close(); return array;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
manager.close();
}
return null;
}
<%
List list = (new CourseDB(CLASSFORNAME,SERVANDDB,USER,PWD)).getCourseName();
Iterator it = list.iterator();
while(it.hasNext())
{
CourseID courseID = (CourseID)it.next();
%>
<option value=<%=courseID.getCourseID()%>> <%=courseID.getCourseName()%> </option>
<%}%>
%>
</select>
// 获取数据库中,所以课程的名称
public List getCourseName() throws Exception
{
List list = new ArrayList();
try
{
statement = con.createStatement();
rs = statement.executeQuery("select courseID,courseName from courseIDToName");
int course_id_count = 0;
if(rs.next())
{
course_id_count = rs.getInt(1);
rs.close();
} if(course_id_count > 0)
{
rs = statement.executeQuery("select courseID,courseName from courseIDToName");
while ( rs.next() )
{
CourseID courseID = new CourseID();
courseID.setCourseID(rs.getString("courseID"));
courseID.setCourseName(rs.getString("courseName"));
list.add(courseID);
}
}
}
catch ( Exception e )
{
e.printStackTrace();
}
finally
{
rs.close();
statement.close();
con.close();
} return list;
}
<select name="">
<%while (rs.next()){%>
<option value="<%=这里是从数据库里读出来的数值%>"><option>
<%}%>
</select>