我的首个JSTL程序就出错...大家指点一下..昨天晚上都今天一直没解决.
<jsp:useBean id="machine" class="ynu.edu.cn.Machine"/>
<jsp:useBean id="machines" class="ynu.edu.cn.DB_unUseredMachines"/>
<jsp:useBean id="unUseredMachines" class="java.util.ArrayList"/>
<%
dbconn.ConnectDB();
machine=new Machine();(javabean)
unUseredMachines=machines.list_unUseredMachines();(利用方法获得数据库里的信息) %>
<select name="unUseredMachine">
<c:forEach var="machine" items="${unUseredMachines}">
<option value="machineb">
<%=machine.getMachineName()%> (或者${machine.machineName}都不行)
</c:forEach>
</select>
大家帮我看下哪里出错 为什么下拉表单总是不能显示东西...... (machine是个javabean,而 unUseredMachines是个包含machine的arraylist类型)
而下面这段不用jstl可以
<form action="index.jsp">
<select name="unUseredMachines">
<%
for(int i=0;i<unUseredMachines.size();i++) {
machine = (Machine) unUseredMachines.get(i);
%>
<option value="machinee">
<%=machine.getMachineName()%>
<% }
%>
</select></form>
由于下面这段不用jstl 代码比较乱,我还是希望用jstl一下.....希望指点一下...
------解决方案--------------------machines.list_unUseredMachines();这个获取的是什么东西,能获取吗?你可以参看下面
machine = (Machine) unUseredMachines.get(i);
------解决方案--------------------不太明白,关注一下!!!
------解决方案--------------------<option>.......</option>
------解决方案--------------------关注
------解决方案--------------------<%
dbconn.ConnectDB();
unUseredMachines=machines.list_unUseredMachines();(利用方法获得数据库里的信息) %>
<select name="unUseredMachine">
<c:forEach var="machine" items="${unUseredMachines}">
<option value="machinee">${machine.machineName}</option>
</c:forEach>
</select>
试一下
就是把machine=new Machine();(javabean) 给去掉
------解决方案--------------------jsp和jstl能互用吗?
对此表示怀疑,你可以用<sql:>获得结果集。那样保证能用。
------解决方案--------------------JSTL的数据来源好像是在Request和Session对象中寻找,你这个对象unUseredMachines是在当前jsp中产生的,可能会导致JSTL找不到.
你试一试把unUseredMachines放在Request对象中:
request.setAttribute("UnUseredMachines",unUseredMachines);
.....
<c:forEach var="machine" items="${UnUseredMachines}">
......