日期:2014-05-17  浏览次数:20846 次

JSP下拉菜单的一段代码 为什么怎么修改都是错呢?

<select size="1" name="jiaoshi<%=i%>">
  <%
  if(jiaoshi != null && jiaoshi.size() != 0){
  for(int j = 0;j < jiaoshi.size();j++){
  ArrayList jiaoshiRow = (ArrayList)jiaoshi.get(j);
  if(jiaoshiRow.get(0).equals(listRow.get(8))){
  %>
  <option value="<%=jiaoshiRow.get(0)%>" selected><%=jiaoshiRow.get(1)%></option>
  <%}else{%>
  <option value="<%=jiaoshiRow.get(0)%>"><%=jiaoshiRow.get(1)%></option>
  <%}}}%>
  </select></td>
很简单的这样一段代码 我希望下拉菜单显示的值是我可以自己规定的 例如下拉菜单里有5个值 我希望随机显示一个 这要怎么做呢 而且我的理解是修改<%=jiaoshiRow.get(1)%>的值就可以实现 但是 例如我修改为<%=jiaoshiRow.get(2)%> 就会有错 我是个初学者。。。望指教!

------解决方案--------------------
你的jiaoshiRow有那么长吗?如果你的jiaoshiRow.size=2,当然有错啊,你这样写的代码出错很正常,可能某些情况运行正常。。。
------解决方案--------------------
楼上说的对,楼主jiaoshiRow这个集合,它的size是多大,如果楼主get的时候超过集合的size肯定会出错的。建议楼主用获取随机数吧,获取随即数的大小就有jiaoshiRow 这个集合的size决定