我的jsp页面中有一个<form:form>
,其中有几个<form:input>
字段(因此,字段是数据绑定的)。其中一些字段由用户填充,但有些字段需要预先填充从另一个jsp页面通过spring控制器发送到此页面的参数值,而不是等待用户输入某个值。如何将该参数写入<form:input>
,以便用户不必?
答案 0 :(得分:0)
如果我正确理解了您的问题,您希望使用之前已提交的值预填充某些字段。
您需要了解的是,使用Spring表单taglib,Spring希望您在模型中放置一个命令对象,并将该命令对象中的值绑定到表单字段。
如果未在模型中指定此命令对象的键,则taglib将使用键“command”查找它。您可以使用表单标记上的commandName属性指定其他名称,例如:
<form:form commandName="myModelObject">
Spring现在会在名为myModelObject的模型中查找用于绑定表单标记的对象。
您需要做的另一件事是在Spring表单中的表单标记中,引用命令对象中的字段。因此,举例来说,假设你的命令对象有一个字段firstName,你有一个像这样的输入标签:
<form:input path="firstName" />
path属性告诉属性它应该绑定的命令对象中的哪些字段。
然后,您只需将命令对象放在模型中,并使用预先填充的相应字段,并且相应的表单字段将预先填充这些值。例如,如果在模型中放置一个名为myModelObject且具有字段firstName的对象,则将使用当前在该对象中设置的firstName预先填充该对象。