spring - 如何使用 Spring MVC "form"标签而不是我的 "input"标签?

标签 spring jsp spring-mvc

我拥有的:

我有一个通用 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/

相关文章:

java - 为什么 Spring propertyplaceholder 没有检测到我对系统属性的更改?

java - spring框架如何知道如何在这个例子中实例化RestHighLevelClient?

xml - JSPX namespace 对 EL 函数不可见?

java - 在 thymeleaf 中为变量名设置值

java - 防止重定向到 Spring Security 的登录

java - 如何使用注释将 struts2 Action 的实例化委托(delegate)给 spring

Java Spring MongoDB @TextIndexed 注释未在现有数据库中创建索引

java - 将通用列表传递给 JSP 标记

spring - Spring 中 Autowiring 的方法 - 下面两种可能的替代方案之间的区别

spring - <表格:form have method GET or POST