问:下拉列表的选项是保存在一张表里面的,如何从数据库中取值绑定到下拉列表?看到人家的回答:
“你是不是从数据库取出来的数据存到一个list集合中啊
在list集合中有两个字段(id和name)
<select name="">
<forEach var="list" item="LIST">
<option value="${list.id}"
${list.name}
</option>
</forEach>
</select>这样就可以了”
请问,这个怎么从数据库取出来的数据存到一个list集合中?我的两个表,学生信息表stuInfo(stu_xh,stu_name,stu_zy,...) 和专业表zy(zy_id,zymc)
学生表的stu_zy这个要从专业表那边取得zy_id。如何实现?
“你是不是从数据库取出来的数据存到一个list集合中啊
在list集合中有两个字段(id和name)
<select name="">
<forEach var="list" item="LIST">
<option value="${list.id}"
${list.name}
</option>
</forEach>
</select>这样就可以了”
请问,这个怎么从数据库取出来的数据存到一个list集合中?我的两个表,学生信息表stuInfo(stu_xh,stu_name,stu_zy,...) 和专业表zy(zy_id,zymc)
学生表的stu_zy这个要从专业表那边取得zy_id。如何实现?
解决方案 »
- 新手问个简单问题,怎么获取一个变量的所有成员呢
- Java实现多页打印功能~ 大虾请进
- 急!!!如何让浏览器访问某个ip地址?
- php asp.net谁的开发速度最快?
- 求一个正刚表达式
- 蔡鸟请教问题,高手请指教,多谢~~~
- 能否用servlet弹出窗口?
- 本人是JSP的初学者,请问怎样安装和配置j2sdk-1_4_1_07-windows-i586和jakarta-tomcat-5.0.28?
- 求助,怎么调用MySQL中的存程过程!!!
- 工作需要,初学jsp,现在安装了jbuild9.0,该怎么配置?
- applet与servlet域名通讯时的安全问题
- jstl+js 处理得到的Map<Ingeter, List<String>>对象
你要明确一下哪里不会。
如:
1、如何从数据库取值? (会还是不会?)
2、会取值但不会放到select选择框里。
3、不会取值也不会放到下拉框。只是把专业表查询出来放到select里就行 比较简单。
首先确定你从数据库取到的值是什么格式(list?json?)
确定了循环赋值就可以了。
你要先建立对应的实体,然后定义一个改实体类型的list,用get set方法将取到的数据添加到list里,然后传给页面!
public List<EmCustHorExpensesList> getEmCustHorExpensesList(int owner){
List<EmCustHorExpensesList> arrayPage = new ArrayList<EmCustHorExpensesList>();
Session session = super.getSession();
Connection conn = session.connection();
try{
String sql = "select a.id,b.custName,a.status,a.custHor,a.auditTime,a.total,"
+"(select sum(custHor) from EM_CustHorExpenses where owner = a.owner "
+" and year(createTime) = year(a.createTime) and month(createTime) = month(a.createTime) and createTime <= a.createTime) as csum,"
+"0.05*(select sum(totalAmount) from DM_DeliveryOrder where company = a.owner and datediff(mm,createTime,a.createTime) between 1 and 3)/3 as nsum"
+" from EM_CustHorExpenses a left join BS_Customer b on a.customer = b.id "
+" left join SM_Staff c on a.auditPeople = c.id "
+" where a.owner =?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setInt(1,owner);
ResultSet rs = stmt.executeQuery();
while(rs.next()){
EmCustHorExpensesList e=new EmCustHorExpensesList();
int id = rs.getInt(1);
String custName = rs.getString(2);
String status = rs.getString(3);
Double custDetail = rs.getDouble(4);
java.sql.Date auditTime = rs.getDate(5);
Double total = rs.getDouble(6);
Double custHor = rs.getDouble(7);
Double intotal = rs.getDouble(8);
e.setId(id);
e.setCustName(custName);
e.setStatus(status);
e.setCustDetail(custDetail);
e.setAuditTime(auditTime);
e.setTotal(total);
e.setCustHor(custHor);
e.setIntotal(intotal);
arrayPage.add(e);
}
}catch(Exception e){
System.err.println ("Cannot connect to database server");
}finally{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
session.close();
}
return arrayPage;
}//这是一个JDBC去SQL数据库表的值,将数据放入一个list里返回的方法!前提要EmCustHorExpensesList实体!(对应相应的表!)
发觉他们直白的解释,不是很理解啊
有代码吧,怎么感觉跟我贴上去的没有联系的
你要先建立对应的实体,然后定义一个改实体类型的list,用get set方法将取到的数据添加到list里,然后传给页面!DB dbni = new DB();
List list = dbni.xxxx(); ?定义的实体?
还是stubean.java这个 是javabean吗?
package com.jsp.bean;
public class stubean{
String stu_xh;
String stu_name;
String stu_pwd;
String stu_sex;
String stu_zy; public String getstu_xh(){
return stu_xh;
}
public void setstu_xh(String stu_xh){
this.stu_xh=stu_xh;
}get set 是这里这些吗
还是需要什么javabean?怎么写?
<td align="center" bgcolor=#ADD8E6 >专业:</td>
<td align="left" >
<select name="stu_zy">
<forEach var="list" item="${LIST}">
<option value="${list.zy_id}"
${list.zymc}>
</option>
</forEach>
</select>
就想弄一个下拉框,list到底怎么弄啊
listKey="key" listValue="value.organName" theme="simple"
headerKey="" headerValue="--请选择--" cssStyle="width:132px"></s:select>
这是用得struts2标签,#request.oqr是你从代码传过来的
除了这一段代码,应该还有其他的东西吧
public List que_allzyinfo() throws SQLException{
List list = new ArrayList();
rs = conn.prepareStatement("select * from zy").executeQuery();
while(rs.next()){
zybean zyb = new zybean();
zyb.setzy_id(rs.getString("zy_id"));
zyb.setzymc(rs.getString("zymc"));
list.add(zyb);
}
return list;
}下面的是传值? <%
String zy_id = (String)request.getParameter("zy_id")==null?"":(String)request.getParameter("zy_id");
String zymc = (String)request.getParameter("zymc")==null?"":(String)request.getParameter("zymc");
DB dbm = new DB();
List list = dbm.que_allzyinfo();
if(!list.isEmpty()){ %>
我的专业添加那 还是只有个空下拉框啊。
<tr>
<td align="center" bgcolor=#ADD8E6 >专业:</td>
<td align="left" >
<select name="stu_zy">
<forEach var="list" item="${list}">
<option value="${list.zy_id}"value="${list.zymc}">
</option>
</forEach>
</select>
</tr>
到底要怎么写这个 select啊 ???能找到不用什么ajax之类的,完整的一个小例子,我就不用问啦
得到一个list 就是从数据库中查询一个对象的集合。
比如:人,是一个类;张三是一个人,那么张三就是一个对象。
张三有吃饭的行为,那么吃饭就是程序中所说的方法;张三有名字,那么名字就是属性了。希望能够帮助lz理解!!!
可是怎么循环这个list
<%
for(int i=0;i<list.size();i++){
%>
<option><%=list.get(i)%></option> <%}%>
下拉框 显示的是 一串 com.jsp.bean.zybean@36bb87 等等
我要怎么循环这个list ?还是都错了
List<User> list = this.getHibernateTemplate().find("from User");
return list;
}
而后在Action中直接调用findAllUser()方法,List<User> list = this.findAllUser();
再将这个list放到request中,即ServletActionContext.getRequest().setAttributte("lits",list);
那么在jsp页面中你就可以这样来做:
<c:if empty!=${list}>
<forEach var="list" item="${list}">
<option value="${list.id}">
<option value="${list.name}">
</option>
</forEach>
</c:if>
for(int i=0;i<list.size();i++){
zybean zyb = list.get(i)
%>
<option value="<%=zyb.getzy_id()%>" ><%=zyb.getzymc()%></option> <%}%>
<%
String stu_zy = (String)request.getParameter("stu_zy")==null?"":(String)request.getParameter("stu_zy");
String zymc = (String)request.getParameter("zymc")==null?"":(String)request.getParameter("zymc");
DB dbm = new DB();
List list = dbm.que_allzyinfo();
if(!list.isEmpty()){ %> <select name="stu_zy" class="input" >
<%
for(int i=0;i<list.size();i++){
zybean zyb = (zybean)list.get(i);
%>
<option value="<%=zyb.getstu_zy()%>"><%=zyb.getzymc()%></option>
<% }%>
</select>