spring MVC 中的隐藏字段

新手上路,请多包涵

我想在下面的代码中使用 Spring MVC 隐藏标签。这在下面的代码中是否可能,我必须在我的控制器中编写才能做到这一点,或者我正在做的是正确的。

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

任何帮助将不胜感激。

原文由 Harry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 668
2 个回答

你走在正确的轨道上[取决于你的支持 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 文档的 Hidden Input Tag 部分。

原文由 tolitius 发布,翻译遵循 CC BY-SA 3.0 许可协议

我想我解决了这个问题。如果我这样写输入标签

<form:hidden path="id" value="${record}" />

通过这种方式,我可以重新分配隐藏变量的值,但是当我查看呈现的 html 代码时,它是这样的

<input type="hidden" value="0" name="record" value="10"/>

两次生成 value 属性并取我想要的值 10。但它解决了我的问题。如果有人对此有进一步的评论,我们将不胜感激。

原文由 Harry 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题