2016-01-20 61 views
0

我發現我自己有以下問題:如何從Struts的動態表單接收所有字段?

我有一個頁面生成logic:iterate顯示服務的當前主管和助理。 該頁面還可以作爲人們添加可能的替代品的形式,但您永遠不知道有多少人在那裏。

由於我目前使用的環境,它必須沒有JSTL,所以很多選項都沒有了;無法得到DynaActionForm爲此工作。

回答

0

由於我找不到任何東西,但我已經得到了答案,我決定創建這個答案,以回答任何可能有同樣問題的人。

代碼:

public ActionForward post(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 
    String[] tot; 

    try {  
     Enumeration<?> fieldsForm = request.getParameterNames(); 

     while(fieldsForm.hasMoreElements()) { 
      String current = (String) fieldsForm.nextElement(); 
      tot = request.getParameterValues(current); 

      System.out.println("Field name is: " + current); 
      for (i=0; i<tot.length; i++) { 
       // do whatever you need to do; contents are in tot[i] 
       System.out.println("Value " + i + " is: " + tot[i]); 
      } 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
     System.err.println(ex.getMessage()); 
    } 
}