jsp中下拉框中的值从数据库中动态获取

怎么从数据库中或取出只显示在下拉框中呢?我没有做bean类,也不懂
<select>

<%for(int i=;i<list.size();i++){%>

<option><%=list.get(i)%></option>

<%}%>

</select> 中list怎么用啊
我想把从数据库中得到的数封装在一起然后在显示,可是我不知道怎么做

jsp中把数据库全量查询后填充select列表:
举例说明:

<table>
<tr>
<td width="400px" align="left">入学批次:<SELECT NAME="grade"
id="grade" onchange="refreshEduLevelAndSpecialAjax();"> //选择入学批次会刷新层次和专业
<OPTION VALUE="0">
--请选择--
<c:forEach items="${gradeInfo}" var="gradeInfo">
<OPTION VALUE="${gradeInfo.gradeName}">${gradeInfo.gradeName}
</c:forEach>
</SELECT></td>
<td width="400px" align="left">统考课程:<SELECT
NAME="uniExamCourseId" id="uniExamCourseId">
<OPTION VALUE="0">
--请选择--
<c:forEach items="${unifiedExamCourseList}" var="uniExamCourse">
<OPTION VALUE="${uniExamCourse.id}">${uniExamCourse.uniExamCourseName}
</c:forEach>
</SELECT></td>
</tr>
<tr>
<td colspan="2" id="refreshEduLevelAndSpecialAjax"> //设置ID,用于填充层次和专业的下拉框
<table>
<tr>
<td width="400" align="left">层 次:<SELECT
NAME="eduLevelId" id="eduLevelId"
onchange="refreshSpecialAjax();"> //选择层次后刷新专业
<OPTION VALUE="0">--请选择--</OPTION>
<c:forEach items="${educationLevel}" var="educationLevel">
<OPTION VALUE="${educationLevel.id}">${educationLevel.educationLevelName}
</c:forEach>
</SELECT></td>
<td width="400" align="left" id="refreshSpecialAjax">专 业:<SELECT //设置ID,用于填充专业的下拉框
NAME="specialId" id="specialId">
<OPTION VALUE="0">--请选择--</OPTION>
<c:forEach items="${specialList}" var="special">
<OPTION VALUE="${special.id}">${special.specialName}
</c:forEach>
</SELECT></td>
</tr>
</table>
</td>
</tr>
</table>
java后台通过dao接口获取specialList的值,并且保存到session即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-26
jsp中把数据库全量查询后填充select列表:
举例说明:
<table>
<tr>
<td
width="400px"
align="left">入学批次:<SELECT
NAME="grade"
id="grade"
onchange="refreshEduLevelAndSpecialAjax();">
//选择入学批次会刷新层次和专业
<OPTION
VALUE="0">
--请选择--
<c:forEach
items="${gradeInfo}"
var="gradeInfo">
<OPTION
VALUE="${gradeInfo.gradeName}">${gradeInfo.gradeName}
</c:forEach>
</SELECT></td>
<td
width="400px"
align="left">统考课程:<SELECT
NAME="uniExamCourseId"
id="uniExamCourseId">
<OPTION
VALUE="0">
--请选择--
<c:forEach
items="${unifiedExamCourseList}"
var="uniExamCourse">
<OPTION
VALUE="${uniExamCourse.id}">${uniExamCourse.uniExamCourseName}
</c:forEach>
</SELECT></td>
</tr>
<tr>
<td
colspan="2"
id="refreshEduLevelAndSpecialAjax">
//设置ID,用于填充层次和专业的下拉框
<table>
<tr>
<td
width="400"
align="left">层
次:<SELECT
NAME="eduLevelId"
id="eduLevelId"
onchange="refreshSpecialAjax();">
//选择层次后刷新专业
<OPTION
VALUE="0">--请选择--</OPTION>
<c:forEach
items="${educationLevel}"
var="educationLevel">
<OPTION
VALUE="${educationLevel.id}">${educationLevel.educationLevelName}
</c:forEach>
</SELECT></td>
<td
width="400"
align="left"
id="refreshSpecialAjax">专
业:<SELECT
//设置ID,用于填充专业的下拉框
NAME="specialId"
id="specialId">
<OPTION
VALUE="0">--请选择--</OPTION>
<c:forEach
items="${specialList}"
var="special">
<OPTION
VALUE="${special.id}">${special.specialName}
</c:forEach>
</SELECT></td>
</tr>
</table>
</td>
</tr>
</table>
java后台通过dao接口获取specialList的值,并且保存到session即可。
第2个回答  推荐于2018-03-23
我的采用的是javabena+jsp

一个javabean
public ArrayList selectCourseInfo()throws Exception {//下拉框显示课程信息
ArrayList list = new ArrayList();
try {
db.open();
ResultSet rs = db.select("select * from CourseInfo");
while (rs.next()) {
list.add(new CourseInfo(rs.getInt(1), rs.getString(2),rs.getString(3)));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
db.close();
}
return list;
}

然后在jsp中调用

<tr><td>课 程:<select name="course">
<%try{
ArrayList list=m.selectCourseInfo();
if(list.isEmpty()){
out.println("没有数据显示");
}
for(int i=0;i<list.size();i++){
CourseInfo c=(CourseInfo)list.get(i);%>
<option><%=c.getName()%></option>
<%}}
catch(Exception e){}
%></select>
</td></tr>
这样就可以动态的显示了本回答被网友采纳
第3个回答  2009-05-24
用struts,
或者ajax,
再或者你用js吧。
普通的循环应该也可以。

但你的要求我感觉struts标签是最好的.
========================================
你的数据是一个javabean的list(集合)吗?本回答被网友采纳
第4个回答  2019-03-20
我的采用的是javabena+jsp
一个javabean
public
ArrayList
selectCourseInfo()throws
Exception
{//下拉框显示课程信息
ArrayList
list
=
new
ArrayList();
try
{
db.open();
ResultSet
rs
=
db.select("select
*
from
CourseInfo");
while
(rs.next())
{
list.add(new
CourseInfo(rs.getInt(1),
rs.getString(2),rs.getString(3)));
}
}
catch
(Exception
e)
{
e.printStackTrace();
}
finally
{
db.close();
}
return
list;
}
然后在jsp中调用
<tr><td>课
程:<select
name="course">
<%try{
ArrayList
list=m.selectCourseInfo();
if(list.isEmpty()){
out.println("没有数据显示");
}
for(int
i=0;i<list.size();i++){
CourseInfo
c=(CourseInfo)list.get(i);%>
<option><%=c.getName()%></option>
<%}}
catch(Exception
e){}
%></select>
</td></tr>
这样就可以动态的显示了
相似回答