我有复杂的表单对象,具有无限的深度,我试图在 jsp 上使用 spring 表单标签编辑它们。
主模型属性绑定到弹簧形式,当我遍历孩子时,我使用了nestedPath,一切正常。结果,我生成了类似于以下内容的输入名称:
name="elements['secondColumn'][0].elements[0].removed"
问题是我不知道生成的名称。为什么我需要它?假设我有删除按钮,我想将相应的字段“删除”设置为 1。
更新: 它是如何工作的?我正在使用递归调用它们的标签文件。
容器标签
<c:forEach items="${elements}" var="element" varStatus="index">
<spring:nestedPath path="elements[${index.count - 1}]">
<my:elementConfig element="${element}">
<my:container elements="${element.elements}"/>
</my:elementConfig>
</spring:nestedPath>
</c:forEach>
elementConfig.tag
...
<form:hidden path="removed"/>
...
<button onclick="delete('howToGetNameOfRemovedHidden')">Delete</button>
...
<jsp:doBody/>
...
我已经找到的最接近的匹配是“nestedPath”pageContext 属性,但它也包含模型属性(表单)名称的名称。
有官方的方法来获取生成的名称吗?
谢谢