我目前在jsp
文件中有以下内容:
<c:choose>
<c:when test = "${fn:length(song.songInfo) > 0}">
<form action='cart' method='POST'>
<table style="width:1000px" style="text-align:center">
<tr>
<th>Song Title</th>
<th>Song Artist</th>
<th>Album Title</th>
<th>Genre</th>
<th>Publisher</th>
<th>Year</th>
<th>Price</th>
<th>Select ?</th>
</tr>
<c:forEach var="item" items="${song.songInfo}">
<c:set var="split" value="${fn:split(item,';')}" />
<tr>
<td>${split[0]}</td>
<td>${split[1]}</td>
<td>${split[2]}</td>
<td>${split[3]}</td>
<td>${split[4]}</td>
<td>${split[5]}</td>
<td>${split[6]}</td>
<td>${split[7]}</td>
<td><input type="checkbox" name="songInfo" value="${split[0]} "></td>
</tr>
</c:forEach>
</table>
<input type="submit" value="Add to Cart"/>
</form>
</c:when>
<c:otherwise>
<p>No results found</p>
</c:otherwise>
</c:choose>
我想将<td>
个项目发送到Java servlet
,如果已经勾选了行的相应checkbox
。
我在strCheckBoxValue = request.getParameter("songInfo");
中使用servlet
,但这只会检索一个字符串。
有人建议我可以将所有信息发送到servlet
表格中任意数量的行而不使用javascript/JQuery
吗?
感谢您的帮助。
答案 0 :(得分:1)
您可以为每个TD提供一个带有名称的相应隐藏输入,以便它将以表格提交:
<td>${split[0]}<input type='hidden' name='split0' value='${split[0]}' /></td>
<td>${split[1]}<input type='hidden' name='split1' value='${split[1]}' /></td>
或者只是给TD显示可见的输入:
<td><input type='text' name='split0' value='${split[0]}' /></td>
<td><input type='text' name='split1' value='${split[1]}' /></td>
如果你给每个人一个唯一的名字(如上所述),那么在你的servlet中:
String split0 = request.getParameter("split0");
String split1 = request.getParameter("split1");
如果你给他们所有相同的名字,即name='split'
:
String[] split = request.getParameterValues("split");