我想从数据库中读出一列记录,在每条记录前加chechbox,以便可以有全选或者部分选择然后批量操作,比如批量删除。
我在jsp里是这么写的:
<c:forEach items="${files}" var="file">
<tr>
<html:checkbox property="selectItems" value="${file.fileID}"checked="checked"></html:checkbox>
<th><c:out value="${file.fileName}" /></th><td>${file.recordDateString}</td>
<td><html:link action="/docmanage/FileAdmin?action=search&fileID=${file.fileID}" >详细资料</html:link></td>
</tr>
</c:forEach>
我在formbean中定义一String[]变量selectItems,然后用request传selectItems值,但是不能运行,提示的意思说找不到bean。错哪呢?
我上网找的例子中,在formbean中固定了selectItems的取值范围,而我做的东西中selectItems的值是fileID,是不固定的,记录个数当然也不固定,希望能给我一个类似的例子,万分感激!!!

解决方案 »

  1.   

    错误提示是:
    javax.servlet.ServletException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
      

  2.   

    formbean不能这样把数组提出来
      

  3.   

    <c:forEach items="${files}" var="file">
    你的这个应该是${requestScope.files}吧,另外,你这个files是个什么样的bean,对象数组还是容器类?
      

  4.   

    files是个List对象,没有checkbox时能正确运行啊,但是加上<html:checkbox property="selectItems" value="${file.fileID}"checked="checked"></html:checkbox>就不行了
      

  5.   

    先检查JSTL标签和STRUTS标签有没有包含进来 如果没有再检查语法
    如果再不行就只好勇原始的标签input了。不过你依然可以在form里像你那样定义,是可以获得的,如果不定义也可以通过getParameterValues()获得。
      

  6.   

    <logic:notEmpty name="pb">                <tr align="center" class="tr-green">
                        <td height="20" align="center"><input type="checkbox" name="selectAll"  onClick="SelectAll();"/></td>
                        <td align="center">合同编号</td>
                        <td align="center">合同甲方</td>
                        <td align="center">合同乙方</td>                    <td align="center">合同项目</td>
                        <td align="center">合同金额</td>
                        <td align="center">合同签订时间</td>                    <td align="center">合同结束时间</td>
                        <td align="center">合同状态</td>
                    </tr>
                    <logic:iterate id="contract" name="pb" property="resultSet" type="com.pm.model.bo.contract.Contract"
                                   indexId="ctr"
                            >
                        <tr align="center" class='tr-grey'>
                        <td width="4%" height="25" align="center"><input type="checkbox" name="systemId"
                                                                         value="<bean:write name='contract' property='id'/>"/>
                        </td>
                        <td align="center"><bean:write name="contract" property="serial"/></td>
                        <td align="center"><bean:write name="contract" property="first"/></td>
                        <td align="center"><bean:write name="contract" property="second"/></td>
                        <td align="center"><bean:write name="contract" property="project"/></td>
                        <td align="center"><bean:write name="contract" property="contractSum"/></td>
                        <td align="center"><bean:write name="contract" property="dat" format="yyyy-MM-dd"/></td>                    <td align="center"><bean:write name="contract" property="endDat" format="yyyy-MM-dd"/></td>                    <td align="center"><logic:equal name="contract" property="state" value="0"><font color="red">
                            未审核</font></logic:equal>
                            <logic:equal name="contract" property="state" value="1">
                                已审核
                            </logic:equal></td>
                        <input type="hidden" name="status" value="<bean:write name='contract' property='state'/>">                </logic:iterate>
                    </tr>
                </logic:notEmpty>我直接拷的
      

  7.   

    form里面定义String[] systemId就可以了
      

  8.   

    非常感谢hellocoral(不爱小珊)!我加上看看!
      

  9.   

    非常感谢hellocoral!checkbox已经在jsp上显示出来了!但是还不能将选择的记录ID用checkbox数组传到Action中。
      

  10.   

    <html:form action="/magbookmanage/BorrowListAdmin">
    <table >
    <tbody>
      <logic:notEmpty name="items">
           <c:forEach items="${borrows}" var="borrow">
     <tr>
                 <th><logic:iterate id="borrow" name="items" property="selectItems" >
    <input type="checkbox" name="borrowID" value="<bean:write name='borrow' property='borrowID'/>"/>
        </logic:iterate></th>
    </tr>
          </c:forEach>
     </logic:notEmpty>
    </tbody>
    </table>
    <tfoot>
      <tr><td colspan="2"><html:submit>删除所选项</html:submit></td></tr>
    </tfoot>
    </html:form>