站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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>&lt;根&gt;</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


↑返回目录
前一篇: 请问怎么获得客户端浏览器名称和操作系统版本呢?
后一篇: jsp与java的区别,我想在1到2个月学习java及jsp