如何在spring mvc中传递jstl值的commandObject / modelAttribute形式

时间:2015-10-21 13:08:22

标签: spring forms jsp spring-mvc servlets

在我的表单中,我显示了对象的所有属性,供用户编辑和更新。例如,我将汽车对象传递给jsp,然后使用

    <td><form:input type="text" id="carType" path="carType"
                                            maxlength="15" size="20" /></td>

现在用户可以编辑它,点击更新按钮后,我提交表单

    <form:form method="POST" id="formObj" action="updateCar"
                        modelAttribute="carObject">

现在,我不希望用户能够编辑某些属性,例如id,make和model。所以我使用jstl将这些值显示为标签而不是文本框。所以我用了

    ${carObject.carId}

该值在页面上呈现并可见。现在问题是提交表单时,文本框中的值存在于表单对象中,但jstl中的值丢失,并且不是控制器中表单对象的一部分。

我不想将文本框用于具有禁用功能的不可编辑值。我想用jstl。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用您不想更新的值来隐藏输入,如:

<input type="hidden" id="id" value="${carObject.carId}" />

之后,属性id将成为控制器层中对象的一部分。