使用Spring 2.0.x和表单标签的JSP表单的只读(打印)版本?

时间:2011-09-06 08:02:41

标签: spring jsp spring-mvc

有没有办法在Spring中轻松创建只读版本的JSP表单?

即,我有一个填充的命令对象,如果我将它作为一个表单显示它工作得很好,所有选择和radiobutton都会被正确绑定。但是,我的命令对象只保存属性的id,而不是标签(即来自select负载或者在JSP负载上绑定的radiobutton列表中的id)。

我想做的是制作只读版本,其中只有标签 - 值列表,没有输入,选择等html对象。

所以基本上,在编辑版本中,有类似

的东西
<form:select path="type.id" id="type">
    <form:options items="${types}" itemLabel="name" itemValue="id"/>
</form:select>

但在只读版本中,我希望能够自动打印所选的确切type.name,即

<c:out value="${commandName.type.name}"/>

是否存在这种可能性,或者我是否必须在控制器中弄乱这个?

1 个答案:

答案 0 :(得分:0)

好的,我想没有优雅的方法来匹配模型中的ID和值以及命令中的ID。我没有在控制器中做额外的工作,而是匹配了JSP上的ID,即

<c:forEach var="type" items="${types}">
    <c:if test="${type.id == commandName.type.id}">
        <c:out value="${type.name}"/>
    </c:if> 
</c:forEach>

这是一项额外的工作,但我宁愿这样做也不要在我的控制器中对List进行多次迭代。