我需要把file列表的所选记录的fileID放到checkbox的value中,通过在formbean中的字符串数组传到action中去,现在checkbox能在jsp页面上显示了,但是选项打勾表单提交后传不到action中去。
不知道我说得清楚不,下面是我的jsp的部分代码,请大家看看错哪了,该怎么改。
<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>在formbean中定义一String[]变量selectItems记录所选的fileID集。
不知道我说得清楚不,下面是我的jsp的部分代码,请大家看看错哪了,该怎么改。
<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>在formbean中定义一String[]变量selectItems记录所选的fileID集。
解决方案 »
- 一个请求来时,创建的action存放在ValueStack里,valuestack是放在ActionContext里还是放在OgnlContext里?
- jbuilder 2005的问题
- 请问:有没有在网页中显示pdf文档的控件?
- 老规矩,24小时结帖哦~~struts调用hibernate
- 如何限制本地上传图片文件的尺寸?急……………………
- 怎么将JSP页面的数据导入到WORD中???急啊急!在线等!
- 求教:struts中执行了一个action后转到一jsp页面时的当前路径问题?
- jsp编译后html代码中空行的问题
- 谁有可以下载IT类书籍的网址?马上给分
- HttpURLConnection 无法获得查询结果而只能获取结果页面js自动转向的查询页面
- 请问如何实现访问htm也面其实就是访问jsp页面??
- 自定义标签问题(高手请进)
既然是borrowID,那么form中应该是定义borrowID啊,为什么定义selectItems你只需定义borrowID的getter setter,调用getter时获得的就是已选中的记录的ID列表了。
private Integer[] borrowID;
public Integer[] getborrowID() {
return borrowID;
}
public void setborrowID(Integer[] borrowID) {
this.borrowID = borrowID;
}jsp里是这样的:
<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>
你的代码里indexId是什么呀?是必需的么?不好意思比较菜
<logic:iterate id="contract" name="pb" property="resultSet" type="com.pm.model.bo.contract.Contract" indexId="ctr">
<input type="checkbox" name="borrowID" value="<bean:write name='borrow' property='borrowID'/>"/>
这里错了啊.你既然是定义的borrow 那你后面怎么又是borrowID
iterate那里定义的id就是你后面要用到的啊
你好像没弄清楚iterate,一般iterate先用来循环输入一个集合内的元素,type定义元素的类型。。像你怎样定义,就是指items的selectItems是一个集合,我把它定义为borrow。然后下面你就可以用borrow,代表这个集合中的一个元素。
你后面name="borrowID" 就没有和前面你定义的borrow对应起来啊。还有,如果你把它改为borrow,记得form里面也要修改。
你最好是先理顺你要显示什么,还有就是去找下iterator的用法。
我看错了。你写的是对的 ,你是后面用到了borrow..
感觉checkbox的property和borrowID不是一回事啊,borrowID是他的value,我当初想的是把许多borrowID放进form中的selectItems数组里,然后在action中get出来。
?????哪里错了呢?
<logic:present name="upis" scope="request">
<logic:iterate id="upi" indexId="pi" name="upis" type="info.kuke.struts.action.upi.form.UpiQueryForm">
<tr class="tr-row">
<td width="5%"><img src="<bean:write name="upi" property="attachpath"/>\<bean:write name="upi" property="attachfile"/>"/> </td>
<td width="5%" align="center">
<input type="checkbox" name="selectPic" value="<bean:write name="upi" property="attachid" filter="true" />"/>
</td>
<td width="15%"><bean:write name="upi" property="attachfile"/> </td>
<td width="15%"><bean:write name="upi" property="attachpath"/> </td>
</tr>
</logic:iterate>
//form名
UpiQueryForm
//action代码
private ActionForward doQuery(ActionMapping mapping,
UpiQueryForm form, HttpServletRequest request,
HttpServletResponse response, CommonDAO dao) throws Exception {
executeQuery(mapping, form, request, response, mapping
.findForward("doQuery"), UpiQueryForm.ROLE, dao);
List query = form.getQueryResult();
Iterator iter = query.iterator();
List relist = new LinkedList();
while (iter.hasNext()) {
String[] oa = (String[]) iter.next();
UpiQueryForm uf = new UpiQueryForm();
uf.setAttachid(oa[0]);
uf.setAttachfile(oa[1]);
uf.setAttachpath(oa[2]);
relist.add(uf);
}
request.setAttribute("upis",relist);
return mapping.findForward("doQuery");
}
有问题可以msn加我
<th><logic:iterate id="borrow" name="items" property="selectItems" >
<input type="checkbox" name="borrowID" value="<bean:write name='borrow' property='borrowID'/>"/>
改成
<th><logic:iterate id="borrow" name="items" property="selectItems" type="xkjs.bean.magbookmanage.BorrowBean">
就可以了。
谢谢大家!!!!