2015-06-02 149 views
1

我將一個轉換爲字符串值的整數賦值給一個隱藏的輸入,通過一個循環,其中s1是循環迭代器。ServletRequest.getParameterValues只返回第一個值

<% 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.

+0

你可以分享完整的JSP循環代碼嗎? –

+0

我編輯了原始問題中的代碼。 –

+0

你在哪裏/如何爲'try'傳遞多個值?你有三種獨立的書面形式。 –

回答

1

您正在創建三種形式。對於每一份表格,都會有不同的請求。由於每個表格只包含一個隱藏輸入你將下面的代碼

request.getParameterValues("try"); 

如果你有一個點擊提交所有形式的總是隻有一個爲每個請求值現在。 herehere是答案