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