【发布时间】:2015-06-02 17:10:25
【问题描述】:
我通过一个循环将一个转换为字符串值的整数分配给一个隐藏输入,其中 s1 是循环迭代器。
<% int k=0;
String s1 = null;
while(mar.next()){
k++;
s1 = Integer.toString(k);%>
<table>
<tr><td><b>User Name </b> </td> <td><%= mar.getString("UserName") %></td></tr>
<tr><td><b>Type </b></td><td> <%= mar.getString("Type") %></td></tr>
<tr><td><b>Complain </b></td> <td><%= mar.getString("Complaint") %></td></tr>
<tr><td><b>Status </b> </td> <td><%= mar.getString("Status") %></td></tr>
<tr><td><b>Date </b> </td> <td><%= mar.getString("Date") %></td></tr>
</table>
<form action = "demo1.jsp" method = "post">
<% out.println(mar.getString("Id")); %>
<input type="radio" name = "<%= mar.getString("Id") %>"value="pending"checked>Pending
<input type="radio" name = "<%= mar.getString("Id") %>" value="done">Done
<input type="submit" name = "B" id = "submit" >
<input type = "hidden" name = "try" value = <%= s1 %> >
<% out.println(s1); %>
</form>
<br>
<br>
<%
}
下面的代码应该返回一串从 1 到 3 的值(s1 的值)
String[] vals;
vals = new String[3];
out.println(vals.length);
vals = request.getParameterValues("try");
out.println(vals.length);
for(int i=0; i<vals.length; i++){
out.println("Hy");
out.println(vals[i]);
}
它只返回一个值,即第一个值,打印 vals.length 打印 1。
【问题讨论】:
-
你能分享完整的JSP循环代码吗?
-
我编辑了原始问题中的代码。
-
您在哪里/如何为
try传递多个值?你有三个不同的书面形式。 -
每个表单只有一个隐藏输入。每次我认为您的第一个表单正在提交。所以你在java代码中获得了第一个价值
-
如果您想提交具有多个值的单个表单,则不应全部创建三个表单。 为什么你要创建三个表单?故意的?