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

时间:2016-03-28 03:26:51

标签: html jsp jstl el

在我的JSP页面中,我正在迭代学生列表并在父页面上显示它们,当我按下“删除”或“编辑”按钮时,它应该设置为必须编辑/删除的studentID的参数之一,但是它设置为参数studentIDs。这是代码和一些图片:

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

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

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

当您点击该按钮时,它会触发您可以通过javascript代码处理的clicksubmit个事件,以使用当前strudentID设置隐藏字段的值。

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

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