2016-03-04 45 views
0

以下是resultSet循環中的表單。所以,根據結果的範圍可能會有多種形式。JSP結果集中的多個表單,在Servlet中獲取數據

/* RESULT SET LOOP STARTED with `i` as iterator running from 1 to 5 */ 
<form action='Jaga' method='post' > 
    <input name='input-<%=i%>' /> 
</form> 
/* RESULT SET LOOP ENDED */ 

因此,在表單提交時,Jaga Servlet接收信息。我如何知道從哪個表單使用哪個「輸入迭代器」組合。

request.getParameter('here'); 

我該怎麼填在原地的「這裏」在JAGA Servlet來得到正確的形式正確的輸入框的值?

回答

0

如果你看一看 https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

你可以看到它,如果參數不存在返回一個字符串或NULL,所以你可以簡單地做一個for循環,並檢查第一不返回null。喜歡的東西:

for(int i=1;i<=5;i++) 

    if(request.getParameter("input-"+i)!=null) 
     // handle stuff 

編輯:用於獲取參數名稱,請嘗試:

PrintWriter out = response.getWriter(); 
     Enumeration<String> parameter = request.getParameterNames(); 
     while(parameter.hasMoreElements()) 
      out.println(parameter.nextElement()); 
+0

問題是「迭代器」可以是任何東西:文本或數字:它作爲一個唯一的ID在數據庫中存儲並使用結果集進行檢索。然後,這個Id用於創建一個唯一的元素,例如, name =''input-<%=Id%>''。我想知道使用了什麼輸入框ID。我想讓Id變量在Servlet中到達 – rupinderjeet

+0

我剛剛編輯了我的帖子,看看是否有幫助 – Stefan