<c:forEach items=”${requestScope.list}” var=”list”> <tr> <td>${list.type}</td> <td><input type=”text” value=”${list.price}”/></td> </tr> </c:forEach>
<tr> <td></td> <td><input type=”button” value=”报价” /></td> </tr>
我现在需要点击提交转到一个servlet中
在servlet如何获取${list.price}
补充:请注意:<c:forEach items=”${requestScope.list}” var=”list”>
这是一个重复的标签
下面如果name=”price”
那么他下面出来的所有数据行中的name都变成了”price”
那转到servlet中 怎么可能每个都能读取到
满意答案
ωǒ 3级2009-11-26
满意答案
☆丰尐爺☆ 7级2009-11-26
用form表单 <form name="form" method="post" action="这里写要请求的servlet路径">
<c:forEach items=”${requestScope.list}” var=”list”> <tr> <td>${list.type}</td> <td><input type=”text” value=”${list.price}” name=”price”/></td> </tr> </c:forEach>
<tr> <td></td> <td><input type=”button” value=”报价” /></td> </tr>
</form> 在你的servlet中,使用request.getParameter("price")取值! 注意粗体字的地方!!
- 追问:
- 我这里有一个c:forEach 你里面把name=”price”
那下面每一个不都变成了name=”price”
- 回答:
- Sorry,没细看还有循环,标签用得稍微少了些,不过思路还是对的!表单是绝对要的,不然没法提交值给servlet!
你用c:forEach循环出来,是不是要把所有的price都提交,还是只单独提交一个?
- 追问:
- 没错没错 就是这样 这样要怎么办啊?
- 回答:
- 代码不用改,只要更改你的servlet中的代码就可以了! 在你的servlet中,使用request.getParameterValues(“price”)取值!
String[] prices=request.getParameterValues(“price”); //用getParameterValues的方法,将核取到的值取到prices[]数组内 if (prices!=null) { int size=prices.length; //取得这个数组大小 for (int i=0;i<size;i++) { prices[i];//在这里可以单独取出来用了! }
}