见代码:
<%Iterator it = col.iterator();
    while(it.hasNext()){
    %>
    <tr bordercolor="#000000" >
    <td width="23"><input type="radio" name="editNationButton" value="<%=it.next() %>"/></td>
    <td width="570"><div align="center"><font size="2" face="宋体"><%=it.next() %></font></div></td>
        <td width="81"><div align="center"><input type="submit" value="编辑"></div></td>
    </tr>
    <%} %>只要给radio的value属性动态赋值,jsp就抛异常。将value属性去掉,jsp页面就可以正常遍历出数据。
请高手指教!!多谢!!!

解决方案 »

  1.   

    你先定义一个对象把it.next() 的值附给他,遍历的时候,不可以有2个it.next() 的
      

  2.   

    <%Iterator it = col.iterator();
        while(it.hasNext()){
        String s = (String)it.next();//假设你的col里存的是String类型的
        %>
        <tr bordercolor="#000000" >
        <td width="23"> <input type="radio" name="editNationButton" value=" <%=s %>"/> </td>
        <td width="570"> <div align="center"> <font size="2" face="宋体"> <%=s %> </font> </div> </td>
            <td width="81"> <div align="center"> <input type="submit" value="编辑"> </div> </td>
        </tr>
        <%} %> 
      

  3.   

    <%Iterator it = col.iterator(); 
        while(it.hasNext()){ 
        XXX item = (XXX)it.next();
        %> 
        <tr bordercolor="#000000" > 
        <td width="23"> <input type="radio" name="editNationButton" value=" <%=item.getXXX() %>"/> </td> 
        <td width="570"> <div align="center"> <font size="2" face="宋体"> <%=item.getXXX() %> </font> </div> </td> 
            <td width="81"> <div align="center"> <input type="submit" value="编辑"> </div> </td> 
        </tr> 
        <%} %> 
      

  4.   

    2楼说的对~迭代中不能有两个it.next()~找个对象先把值赋过去~
      

  5.   

    (类型)it.next(),这里要强转的一个循环里有2个it.next()不一定有错吧,说不定是业务需要但如果是奇数次循环最后会报空指针错误,反正这样写不是很好
      

  6.   

    非常感谢各位的帮助!
    但是上面的情况我都试过了。也单独建立了一个String型变量用于接收赋值。
    只要把代码加上,jsp页面就抛异常。
    还得麻烦各位帮助!十分感谢!
      

  7.   

    看lz的代码it.next()应该是个对象,而不是个String类型的,lz把什么类型的对象放到col中了,就用什么对象去接收it.next(),这样就没问题了
      

  8.   

    多谢各位的指点,问题已经解决了!o(∩_∩)o...
    我将Iterator中遍历出的对象赋值給Object类型的对象(Object obj = it.next();),再将属性value写为:value="<%obj.toString()%>".
    这样jsp就能正常显示出数据库中的数据。
    但是有个问题我不明白,还请给位帮助解答:
    我使用的是SQL Server2000数据。在数据库中提取字段的类型为varchar型,为什么JSP中写入这段代码String s = (String)it.next();页面就异常呢?
    再次感谢各位的帮忙。