jsp部分如下:(其他略)
<c:forEach items="${persons}" var="person">
<tr>
<td width="12%" input type="checkbox" name="personId" value="${person.id}"/></td>
<td>${person.nameMe}</td>
<td>${person.mobile}</td>
<td>${person.groupMe}</td>
<td>
<a href="${pageContext.request.contextPath}/person/toModify.do?id=${person.id}">修改</a><br>
<a href="${pageContext.request.contextPath}/person/showDetail.do?id=${person.id}">详细信息</a><br>
</td>
</tr>
</c:forEach>在action中我用了两种方法得到的结果都为空,为什么????????
法一:String[] ids = request.getParameterValues("personId"); 得到的ids 为空,为什么????
法二:Long[] personId = form.getPersonId(); 得到也为空。
在form中有:
private Long[] personId;
public Long[] getPersonId(){
return personId;
}
public void setPersonId(Long[] personId){
this.personId = personId;
}
很奇怪,第二种方法我以前是用过的,完全没有问题,但不知道这次是怎么回事,求高手赐教?立即给分(就这么多了,不然回多给点)
<c:forEach items="${persons}" var="person">
<tr>
<td width="12%" input type="checkbox" name="personId" value="${person.id}"/></td>
<td>${person.nameMe}</td>
<td>${person.mobile}</td>
<td>${person.groupMe}</td>
<td>
<a href="${pageContext.request.contextPath}/person/toModify.do?id=${person.id}">修改</a><br>
<a href="${pageContext.request.contextPath}/person/showDetail.do?id=${person.id}">详细信息</a><br>
</td>
</tr>
</c:forEach>在action中我用了两种方法得到的结果都为空,为什么????????
法一:String[] ids = request.getParameterValues("personId"); 得到的ids 为空,为什么????
法二:Long[] personId = form.getPersonId(); 得到也为空。
在form中有:
private Long[] personId;
public Long[] getPersonId(){
return personId;
}
public void setPersonId(Long[] personId){
this.personId = personId;
}
很奇怪,第二种方法我以前是用过的,完全没有问题,但不知道这次是怎么回事,求高手赐教?立即给分(就这么多了,不然回多给点)
解决方案 »
- 小弟初学jsp 求大虾们帮忙啊
- 请教,为什么jsp页面中有中文时,页面载入的速度会很慢?
- 开发者突击:Java Web主流框架整合开发:J2EE+Struts+Hibernate+Spring
- ACTIONQUERYSTUDENTSCORE.APPPROCESS这种类似的地址如何生成的?
- ■■■■■■■请教我的代码怎么只能读取别人网站返回的一部份代码?
- 用struts的标签报错
- 关于测试问题,请大家帮忙
- 请教:如何实现http的客户端? (一个java初学者弱弱的问)
- java网站启动异常求大神指导
- jQuery easyui 表单验证打开页面就验证
- 大家好
- tomcat不能启动问题 和http404错误
发表于:2008-03-11 06:56:15
1楼 得分:0
你在说谎,你不可能只有10分可用分 对于不诚实的人,我拒绝回答! 已加入黑名单!
===================================
首先在这里向 “java2000_net” 表示最诚挚的歉意。
我是第一次发帖子,还不知道在那里查看我的分数,只记得前些时下载的时候还有十二三分吧,所有才说了“就这么多了,不然回多给点”。
为了表示歉意,我会把这10分给 “java2000_net”, 然后把我剩下的分全部加上继续求教此问题的答案。谢谢!
那就是没有submit的原因
request.getParameter("personId")
不是
request.getParameterValues("personId"); 吧
是不是有问题<td width="12%" input type="checkbox" name="personId" value="${person.id}"/> </td> 怎么< 这个起始符号了? input
我用的是超链接,改成用<input type="submit" value="删除">让form的action提交就可以了。回6楼:应该是<td width="12%"><input type="checkbox" name="personId" value="${person.id}"/></td>,发贴时太粗心了,以后一定会注意。下面总结下这个问题。
<c:forEach items="${persons}" var="person">
<tr>
<td> <input type="checkbox" name="personId" value="${person.id}"/></td>
<td> ${person.nameMe} </td>
<td> ${person.mobile} </td>
<td> ${person.groupMe} </td>
</tr>
</c:forEach>
在action里面得到checkbox有两种方法,如下:
1.不用在form里面特殊的设置
直接 String[] ids = request.getParameterValues("personId");
因为有多个名字为personId的checkbox,所有以request.getParameter("personId")只能得到一个checkbox的value
2.在form里面做设置,添加属性personId(和checkbox的name同名)和相应的getter和setter
private Long[] personId;
public Long[] getPersonId(){
return personId;
}
public void setPersonId(Long[] personId){
this.personId = personId;
}
在action里面直接Long[] personId = form.getPersonId();就行了。注意:
不用犯和我错误一样的错误,这里的action应该是<input type="submit" value="删除">让action提交,而不是用超链接。
不用犯和我错误一样的错误,这里的action应该是 <input type="submit" value="删除"> 让action提交,而不是用超链接。原因,有人知道吗?????