实现动态下拉框遇到问题,欢迎指点
<%@ page contentType="text/html; charset=GBK"%>
<%@taglib uri="struts-bean" prefix="bean"%>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ page import="java.util.*" %>
<link rel="stylesheet" href="<%=request.getContextPath()%>/page/css/screen.css" type="text/css">
<% List acTypeList = (List)request.getAttribute("acTypeList");
   // String errorStr = (String)request.getAttribute("error");
//if(errorStr != null && errorStr.equals("error")){out.print("此余额设置已存在");}
       com.peak.riskscan.punishment.model.PunishmentAmt pa = (com.peak.riskscan.punishment.model.PunishmentAmt)request.getAttribute("acBalanceSet");
       String action ="addSavePunishment.do";
       boolean modifyflag = false;
       if(pa!=null&&pa.getModelName()!=""){
       modifyflag  = true;
       action = "editSavePunishment.do";
       }
      int j=acTypeList.size();
      System.out.println(j);
%>
<p class="title" align="center"><%if(modifyflag){ %>修改<%}else{ %>新增<%} %>设置</p>
    
<form method="post"  action="<%=action %>" name="theform" onsubmit="return check();">
<table class="simpleform">    <tr>
<td>
复核差错与风险预警名(<span class="star">*</span>):  
</td>
<td>
<select name="modelName">
<%for(int i=0;i<acTypeList.size();i++){%> 
<option <% com.peak.riskscan.punishment.model.PunishmentModel bean = (com.peak.riskscan.punishment.model.PunishmentModel) acTypeList.get(i);%> value="<%=bean.getModelName() %>"><%=bean.getModelDescribe()   %></option><%}%>
</select>

</td>





</tr>



<tr>
<td>
处罚金(<span class="star">*</span>):  
</td>
<td>
<input type="text" name="punishmentAmt" maxlength="20" size="15" <%if(modifyflag){%> value=<%=pa.getPunishmentAmt()  %><% } %>>
</td>
</tr> <tr>
<td colspan="2" align="center">
 <input type="submit" name="submitbutton" value="确定" title="所输区域记录内容添加至数据库">&nbsp;&nbsp;
 <input type="reset" value="重置"/>&nbsp;&nbsp;
       <input type="button" value="返回" onclick="history.back();" title="返回上一页面">
</td>
</tr>
  </table>
      
     
       
        
        
</form><p>
<p class="pagetips">
页面提示:<br/>
     <li>输入余额标准设置信息,带*为必须输入的内容。
     <li>点击"确定"按钮,将所输设置记录内容添加至数据库。
     <li>点击"返回"则返回上一页面。
<script language="javascript">
   function check(){
   if(document.theform.punishmentAmt.value==''){
   alert("处罚金额不能为空");
   return false;
   }
  
   }
</script>
下拉框显示为null,怎么回事啊?我测试过了.list.size()有值啊?请高手指教

解决方案 »

  1.   

    什么为null啊,不太明白
    <select name="modelName"> 
    <%
    for(int i=0;i <acTypeList.size();i++){
      com.peak.riskscan.punishment.model.PunishmentModel bean =(com.peak.riskscan.punishment.model.PunishmentModel) acTypeList.get(i);
    %> <option  value="<%=bean.getModelName()%>">  <%=bean.getModelDescribe()%> </option> <%}%> 
    </select> 
      

  2.   

    显示<%=bean.getModelDescribe()%>值时,显示为null,值取到了为什么为null了,
    int j=acTypeList.size(); 
          System.out.println(j); 
    j=133啊,
      

  3.   

    size有值,并不代表着description就有值,size的值是List里面PunishmentModel元素个数的多少,也就是有多少个PunishmentModel,
    并不能保证PunishmentModel里面的description不为空,
    请再检查一下代码,确保每个PunishmentModel的description不为空
      

  4.   

    我用的ibatis+struts,关键语句List list=devsampleDao.query(dvsample);那怎么传值到model中
      

  5.   

    问题变成ibatis查出值后怎么传到model 中????????
      

  6.   

    my god!!你还用这落后的方式:
    ------------------------------------
    使用标签绑定数据源呀!要是数据来源是session工厂那就自己写标签吧!
    我一般用这个。
    <select name="secretLev">
      ${cp:getItems("CDSecretLev")}
    </select>public static String getItems(String webComName){
      到底怎么写自己想
    }
     ${cp:getSelect("SelectName","CDSecretLev")}
    public static String getSelect(String webComName,String webComData){
      到底怎么写自己想
    }
      

  7.   

    public static List query(){ 
      List list = null; 
      try { 
      sqlMap.startTransaction(); 
      list = sqlMap.queryForList("getPunishmentByModel",null); 
      sqlMap.commitTransaction(); 
      } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      }finally{ 
      try { 
        sqlMap.endTransaction(); 
      } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
      } 
      } 
      return list; 

    框架顶死了,struts+ibatis架构,List list=devsampleDao.query(dvsample);,后怎么传到javabean,我要在jsp页面显示javabean信息的
      

  8.   

    有知道的告诉下,ibatis 怎么将list值写入javabean中