JSP <c:foreach> 选择要设置的参数

JSP <c:foreach> choose parameter to set

在我的 JSP 页面中,我遍历学生列表并将它们显示在父页面上,当我按下 "remove" 或 "edit" 按钮时,它应该设置为参数之一studentID 必须是 edited/removed,但它设置参数 studentID's.Here 是代码和一些图片:

<c:forEach var="thisStudent" items="${studentList}">
   <form:hidden path="studentID" value="${thisStudent.studentID}"/>
   <div class="panelheader">
      <p>${thisStudent.userName}</p>
   </div>
   <div class="panel panel-default">
      <div class="panel-body fixed-panel">
         <div class="childinfo">
            <img src="resources/images/Matildacircle.png" class="center-block">
            <p>${thisStudent.firstName}</p>
            <p>Points ${thisStudent.rewardPoints} </p>
            <BR>
            <button type="button" class="btn btn-default center-block redeembtn">Redeem</button>
         </div>
      </div>
      <div class="panel-footer clearfix">
         <div class="pull-left">                                         
            <button id="removeStudent" type="submit" name="action" value="removeStudent" style="color: #32B2B2">remove</button> <span class="colortext">|</span> 
            <button id="editStudent" type="submit" name="action" value="editStudentInfo" style="color: #32B2B2">edit</button>
         </div>
      </div>
   </div>
</c:forEach>


c:forEach 标签呈现了多个 hidden 字段。但是你只需要使用一个。因此,您应该将隐藏标签移出 c:forEach 正文。

当您单击按钮时,它会触发 clicksubmit 事件,您可以通过 javascript 代码处理这些事件,以使用当前 [=16] 设置隐藏字段的值=].

<button id="editStudent" type="submit" name="action" value="editStudentInfo" style="color: #32B2B2" onclick="setStudentID(${thisStudent.studentID})">edit</button>
         </div>
<script>
  function setStudentID(studentID){
    document.forms[0].elements['studentID'].value=studentID;
  }
</script>

注意:您应该使用的脚本标签