spring MVC中的隐藏场


问题内容

我想在下面的代码中使用spring hidden标签。在下面的代码中这是可能的吗,我必须在控制器中编写的内容还是我做的是正确的。

<c:forEach var="record" items="${records}">
    <tr>
        <td>
            <form:form id="myForm" action="list.html" method="post">
                <input type="hidden" name="record" value="${record}" />
                <a href="#" onclick="document.getElementById('myForm').submit();">Submit</a> 
            </form:form>
        </td>
    </tr>
 </c:forEach>

任何帮助都将得到高度重视。

谢谢


问题答案:

您处在正确的轨道上(取决于您的backing bean是什么),但是为了将ID作为 提交时 的隐藏字段自动绑定到“ Person”
bean(在此示例中),您可以执行以下操作:

<c:forEach var="person" items="${persons}" varStatus="status">
    <tr>
        <c:set var="personFormId" value="person${status.index}"/>
        ....
        <form id="${personFormId}" action="${deleteUrl}" method="POST">
            <input id="id" name="id" type="hidden" value="${person.id}"/>
        </form>

        <td>${person.firstName}</td>
        <td>${person.lastName}</td>
        .... 
    </tr>
</c:forEach>

如果您想 呈现 隐藏字段,则可以使用form:hidden标签:

<form:hidden path="id" />

看看Spring文档的“
隐藏输入标签”部分。