jsp+servlet 数据获取提交的数据



<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

<input type="text" value="${list.price}" name="price"/>在servlet中用String [] str = request.getParameterValues(“name”)去取吧,注意 获得的值是一个字符数组数组里就是你要的值

满意答案

☆丰尐爺☆ 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];//在这里可以单独取出来用了! }
}