当前页面: 开发资料首页 → JSP 专题 → 求:动态从数据库取出数据,然后在JSP页面上用下拉框〈html:select〉进行显示
求:动态从数据库取出数据,然后在JSP页面上用下拉框〈html:select〉进行显示
摘要: 求:动态从数据库取出数据,然后在JSP页面上用下拉框〈html:select〉进行显示
如题:
只是,我希望通过在一个后台类中实现和数据库的交互,并取得数据。JSP页面,只做取得数据,并用下拉框显示出来。并不与数据库的交互!
求教与各位高手!!!先谢谢了!
把后台得到的数据放到List 里面,然后放到session里面,或者request
jsp页面获得这个List
<%
for(int i=0 ;i
%>
< option value="<%=%>"><%=%></option>
<%
}
%>
//比如一个取省份的后台函数
public String getProvinceHtml() {
String str = "select 名称 from 省 order by 名称";
ResultSet rs = //在此执行这个查询语句,返回ResultSet
StringBuffer sBuf = new StringBuffer();
try {
while (rs.next()) {
sBuf.append("<option value='" + rs.getString("名称") + "'>" +
rs.getString("名称") + "</option>/n");
}
return sBuf.toString();
} catch (SQLException ex) {
ex.printStackTrace();
return "";
}
}
//////////////////jsp页面/////////////////////////////
//ub= new 上面那个函数所在类
<td>
<option selected="selected" value="">请您选择..</option>
<%=ub.getProvinceHtml()%><option value="其它地区">其它地区</option>
</td>
数据库读取出来的数据存入到一个list中然后在jsp中调用这个方法
/**
* 根据List对象生成<select>控件
* @param l list
* @param formFieldName form中的名称
* @param defaultValue 默认值
* @return
*/
public static String genSelect(List lis, String formFieldName,
Object defaultValue) {
StringBuffer buf = new StringBuffer();
buf.append("<select name=/"" + formFieldName + "/">");
//if (formFieldName.equals("doc_class")) {
// buf.append("<option><根></option>");
//}
for (int i = 0; i < lis.size(); i++) {
boolean selected = false;
HashMap row = (HashMap) lis.get(i);
Object key = row.keySet().iterator().next();
Object value = row.get(key);
if (key.toString().equals(defaultValue)) {
selected = true;
}
buf.append("<option value=/"" + key + "/"");
buf.append(" selected");
}
buf.append(">" + value + "</option>");
}
buf.append("</select>");
return buf.toString();
}
看看这里:
http://community.csdn.net/Expert/TopicView3.asp?id=4485712
谢谢。明白了。
markup