在action里使用hibernate查询到数据并存放在list对象中
在jsp中使用Logic:iterate标签循环输出到表格中
在第一列同时输出一个checkbox,目的是想通过选中这个checkbox获取到当前行的id,结果却获取不到,代码如下:<logic:present scope="request" name="result">
<logic:iterate id="dep" name="result" type="pojo.Departments" scope="request">
<tr>
  <td align="center">
<input type="checkbox" name="check" value="${dep.depId }">
<bean:write name="dep" property="depId" />
  </td>

  <td align="center">
       <bean:write name="dep" property="depName" />
  </td>
  <td align="left">
        <bean:write name="dep" property="depDescription" />
   </td>
   <td align="center">
       <bean:write name="dep" property="depUpperId" />
  </td>
</tr>
</logic:iterate>
</logic:present>
大家帮帮忙吧```毕业设计卡到这了```

解决方案 »

  1.   

    我一直都用这个啊```QQ的也是```MSN的也是``
      

  2.   

     <bean:write name="dep" property="depId" />
    改成 <htm:hidden name="dep" property="depId" />  <input type="checkbox" name="check" value="${dep.depId }" />
     不知道你是要在什么时候获取他的ID如果是选定的时候
    <td align="center">
    <htm:hidden name="dep" property="depId" />
      <input type="checkbox" name="check" onclick="getId(this)"/>
    </td>
    JS方法 function getId(theObject){
    theObject.parentElement.children[0].value  //这个就是他的ID了啊
    }
    如果你想获取所有选种的复选框的ID
    function getId(theObject){var depId = document.all.depId;
      for(var i=0;i<depId.length;i++){
    var trObj = depId.parentElement.parentElement
        trObj.cell[0]. children[0].value  //这个就是他的ID了啊
      }
    }
      

  3.   

    就是想选中checkbox的时候 再进行删除操作```
      

  4.   

    <input type="checkbox" name="check" value="${dep.depId }">
    这个的话没什么意义啊
    要么你用<html:checkbox name="dep" property="check" >
    <bean:write name="dep" property="depId" />
    </html:checkbox>
    这样的话直接获取check的value就是depId 你后台也能取到check的值(如果选定的话)
      

  5.   

    <html:checkbox name="dep" property="check" > 我的dep是个对象  他没有check属性check是我命名的checkbox
      

  6.   

    <html:multibox>还是<html:checkbox> 
    我到是有点忘记掉了 反正你在后台取的时候 
    取check这个是一个数组 如果他没选定的话是"" 或者是"on"
    你进行一下判断 不是on 和""的能取到他的<bean:write name="dep" property="depId" /> 
      

  7.   

    那你再定义一个javabean把所有的dep的属性和check属性 都作为他的属性
    然后把result解开来 用你定义的javabean 方式放进去
    这个javabean要是struts.xml的文件里配置过的
      

  8.   

    你去google上查一下 struts 的formbean配置
      

  9.   

    现在的问题:我的checkbox 获取不到赋给他的值```怎么办?
      

  10.   

     <input type="checkbox" name="check" value="${dep.depId }">
     这句为什么获取不到植?
      

  11.   

    <input type="checkbox" name="check" value="<bean:write name="dep" property="depId" />"> 
      

  12.   

    <input type="checkbox" name="check" value=" <bean:write name="dep" property="depId" />"> 这样子也获取不到???????
      

  13.   

    [code=Java]
    <input type="checkbox" name="check" value="<bean:write name="dep" property="depId" />">
    [code]
      

  14.   


    这样不行的```
    我request.getParameter("check");
    返回为空
      

  15.   

    可能是你没有将 depId 的值设置到对象
    你到哪个数据查询那里看看 你丢到集合中的对象的depId有没有设置进去.
      

  16.   

    我晕你用struts你formbean都不用的吗? 
      

  17.   

    <input type="checkbox" name="check" value="${dep.depId }"> 
     这句为什么获取不到植?
    =============================
    你先在页面上打印出${dep.depId },看这个是不是有值,有的话,request.getParameter("check"); 肯定是能获取到值的.
    如果获取不到值,那很可能是你在组装list时候,从数据库中就没有获取到数据.
      

  18.   

    那你把check这个属性加到formbean里就好了哇
      

  19.   


    用表达式直接输出 能有结果的但不知道为什么 checkbox却得不到?急啊```
      

  20.   

    复选框:
      如果在浏览器中选择了多个,那么取值时使用:request.getParameterValues("check");
      如果只选择一个,那么取值时使用:request.getParameter("check");
      

  21.   

    我上面的回答可能会误导你,修正一下:
      凡是可能提交多个值的,请使用request.getParameterValues(ctlName)来获得值
      凡是只会提交一个值的,请使用request.getParameter(ctlName)来获得值
      

  22.   

    使用 ${dep.depId } 能读取到值然后选中一个或多个 
    再使用request.getParameterValues("check"); 
    或request.getParameter("check"); 
    都会返回null崩溃```
      

  23.   

    先使用以下代码检查一下提交的数据中是否存在 check 这个名称的参数吧:for (java.util.Enumeration e = request.getParameterNames(); e.hasMoreElements(); ) {
        String name = (String) e.nextElement();
        System.out.println("name: " + name);
    }如果不存在,则需要查找提交Form了.