我拥有的:
我有一个通用 JSP 页面,在我的整个应用程序中用于显示某些实体。我感兴趣的代码如下:
<form:form modelAttribute="object"/>
<core:forEach items="${sections}" var="section" varStatus="itemStat">
<core:forEach items="${section.fields}" var="fieldDef">
<form:input path="${fieldDef.fieldName}"/>
</core:forEach>
</core:forEach>
<form:form>
对于每个部分以及该部分中的每个字段,我都有一个具有路径 fieldName 的输入,这是我想要从每个字段显示的内容。
我想要什么:
我希望输入不是简单的文本,例如标签。
我尝试过的:
我非常确定我可以用<form:label>
以某种方式做到这一点但我真的无法让它发挥作用。制作<form:label path="${fieldDef.fieldName}" />
只是告诉浏览器我需要哪个字段的标签,但没有从中获取实际值。
我也尝试过类似${object.fieldDef.fieldName}
的东西,但为了使其发挥作用,我必须首先分析 ${fieldDef.fieldName}
的值,这将为我提供列的名称,然后执行 ${object.column}
,但列是一个变量,我无法以任何方式使其工作。
替代方案:
另一种方法是禁用输入并使用 CSS 删除边框,但这将是一种肮脏的方式,而且据我所知,对于 IE 不同版本来说这也很棘手。我确信我可以直接处理它。
<小时/>我对 <form:input path="...">
有点感兴趣将找到的与该路径相对应的内容放入输入中(其他表单元素也是如此),但使用标签时,它的工作方式有所不同。
所以,我想要的基本上很简单,但我还没有找到方法。如果有人能提供一些线索,那就太好了。提前致谢!
最佳答案
您可以查看 spring 绑定(bind)标签。我以前没有尝试过使用它,但这可能对你有用,代替输入标签
<spring:bind path="fieldDef.fieldName">
${status.value}
</spring:bind>
引用:http://static.springsource.org/spring/docs/1.1.5/taglib/tag/BindTag.html
关于spring - 如何使用 Spring MVC "form"标签而不是我的 "input"标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996804/