2017-10-11 39 views
0

所以基本上奠定了這一點,我有如何捕捉表中POST和使用它作爲一個數組

  • AffidavitController - 控制器
  • Affidavit.jsp - 獲取視圖頁面
  • summary.jsp - POST查看頁面

所以基本上我有一個表格,用戶填寫,然後他們擊中提交按鈕,它發佈它。

此方法然後調用在控制器

@RequestMapping(value = "/affidavit", method = RequestMethod.POST) 
public String post(AffidavitDetailDto affidavitDetail, HttpServletRequest request, HttpServletResponse response, Model model) { 

現在這個方法中的我趕上這是響應對象越過信息。

這樣的一個例子是我有GET視圖頁面上的名稱字段,這個字段的名稱是「CUSTNAME」

,所以我抓住它,像這樣

String contactName = request.getParameter("custName"); 
    model.addAttribute("contactName", contactName); 

,然後我可以它顯示我的帖子查看頁面

    <p>Name: ${contactName}</p> 

上,但現在我想弄清楚我該怎麼做同樣的一個表,並把它當作一個數組

下面是它是如何在GET視圖頁面

<table id="certEmail" name="certEmail"> 
        <tr> 
         <td>${user.email}</td> 
        </tr> 
       </table> 

下面的添加是我試圖

String[] certEmail = request.getParameterValues("certEmail"); 

    model.addAttribute("certEmail", certEmail); 

,這是我的看法頁面上顯示它

  <div id="Emails"> 

       <c:forEach items="${certEmail}" var="email"> 

        <p>${email}</p> 

       </c:forEach> 

      </div> 

這個目前沒有工作。我知道我可能只是做錯了,所以有人請至少指出我的方向。我只是沒有想出一個好的谷歌查詢還沒有得到答案。

回答

0

表格不是表單元素(https://www.w3schools.com/html/html_form_elements.asp)。只有窗體上的元素值被提交給服務器。因此,而不是

<table id="certEmail" name="certEmail"> 
    <tr> 
     <td>${user.email}</td> 
    </tr> 
</table> 

你應該有類似

<table id="certEmail"> 
    <tr> 
     <td> 
      <input type="text" name="certEmail" value="${user.email}" /> 
     </td> 
    </tr> 
</table> 
,如果你希望自己的數據可編輯

,或者

<table id="certEmail"> 
    <tr> 
     <td> 
      ${user.email} 
      <input type="hidden" name="certEmail" value="${user.email}" /> 
     </td> 
    </tr> 
</table> 

,如果你希望它被隱藏,只是重新發送至服務器。

雖然我應該表示通常應該避免第二個變體。我建議您通過用戶標識並在後端使用它來加載用戶並閱讀他的電子郵件。

請學習如何使用HTML表格:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Your_first_HTML_form

+0

感謝您的幫助。我覺得很傻,我錯過了。 – TonyO