我是JSP新手并没有太多想法。所以,让我澄清一下我的要求。
假设我有一个如下程序,其中有First.jsp
数组Match_List[5]
。
String[] Match_List;
Match_List[] = {a, b, c, d, e};
<form name="Team_Playerdetails" method="post" action="db_Match_Edit.jsp">
<TABLE>
<% for (int j = 0; j < 10; j++) { %>
<TR>
<TD>
<SELECT name="Stat_Match_name">
<% for (int i = 0; i < 5; i++) { %>
<option>
<% out.println(Match_List[i][1]); %>
</option>
<% } %>
</SELECT>
</TD>
</TR>
<% } %>
</TABLE>
<input type="submit" name="submit" value="Add All" tabindex="10" class="button" />
</form>
现在,上面的表单将显示相同的下拉列表10次。我想在这十个列表中选择不同的选项,如下所示:
List_1 Option: a
List_2 Option: d
List_3 Option: e
List_4 Option: b
List_5 Option: c
.....
List_10 Option: d
现在我需要一旦用户点击提交按钮,那么该变量应该移动到db_Match_Edit.jsp
。在这里,我将使用代码来捕获值
U_Stat_Match_name = request.getParameter("Stat_Match_name");
但是,由于所有10个下拉选项都被相同的选择变量名称Stat_Match_name
捕获。因此,db_Match_Edit.jsp
我只会在U_Stat_Match_name
中获得最后一个选项。
但是我需要数组中db_Match_Edit.jsp
jsp中的所有10个选定选项。
答案 0 :(得分:0)
要么只使用HttpServletRequest#getParameterValues()
:
String[] statMatchNames = request.getParameterValues("Stat_Match_name");
// ...
或者根据迭代索引给每个人一个唯一的值:
<select name="Stat_Match_name_<%=j%>">
并按如下方式单独抓取它们:
for (int j = 0; j < 10; j++) {
String statMatchName = request.getParameter("Stat_Match_name_" + j);
// ...
}
无关具体问题,这个老式的JSP代码风格表明你正在通过一个可能超过10年的过时资源来学习JSP。我建议专注于更近期和理智的学习资源。从How to avoid Java code in JSP files?开始,然后阅读our JSP wiki page。