预填充Spring MVC表单

时间:2012-07-19 14:59:02

标签: forms spring-mvc session-variables

我正在寻找一种方法来从存储在会话范围的bean中的值预先填充Spring MVC表单。 (使用此命名空间:http://www.springframework.org/tags/form)。

例如,假设我已将 queryInfo 对象添加到 uiModel

如何显示 queryInfo 对象中的名称实例变量?

<form:input path="queryInfo.name" />

这可能吗?如果是这样的话?

3 个答案:

答案 0 :(得分:8)

在请求映射中,将bean添加到模型中:

model.addAttribute("queryInfo", queryInfo);

然后在表单标记中使用modelAttribute将其绑定到表单:

<form:form id="some-form" modelAttribute="queryInfo">

... 

现在,当您执行此操作时,将显示名称(前提是您的对象中有一个适当命名的getter):

<form:input path="name" />

请记住:form是form:form的子标记。它并不意味着单独使用。

答案 1 :(得分:0)

@skel625的表单解决方案:输入是完美的,但在表单的情况下:选择,使用不同的选项如何设置属性?因为这样只适用于表单:input

我的表格:选择是这样的:

<form:select path="dolorefastidio">
                        <option value="1"><spring:message code="questionnaire.compile.label.paindiscomfort.one"/></option>
                        <option value="2"><spring:message code="questionnaire.compile.label.paindiscomfort.two"/></option>
                        <option value="3"><spring:message code="questionnaire.compile.label.paindiscomfort.three"/></option>
                        <option value="4"><spring:message code="questionnaire.compile.label.paindiscomfort.four"/></option>
                        <option value="5"><spring:message code="questionnaire.compile.label.paindiscomfort.five"/></option>
                    </form:select>

答案 2 :(得分:0)

  

解决方案的值属性是bean属性,如

                                                                 考试报名表

                    <div class="form-group has-success">
                        <label for="code" class="col-lg-3 control-label">Exam Code</label>
                        <div class="col-lg-9">
                            <form:input type="text" class="form-control" path="cod" placeholder="code" value="${editExam.cod}"/>                        
                            <form:errors path="cod" cssClass="error" />
                        </div>
                    </div>

                    <div class="form-group has-success">
                        <label for="name" class="col-lg-3 control-label">Exam Name</label>
                        <div class="col-lg-9">
                            <form:input type="text" class="form-control" path="name" placeholder="name" value="${editExam.name}"/>
                            <form:errors path="name" cssClass="error" />
                        </div>
                    </div>

                    <div class="form-group has-success">
                        <label for="teachNme" class="col-lg-3 control-label">Teacher Name</label>
                        <div class="col-lg-9">
                            <form:input type="text" class="form-control" path="teachName"
                                placeholder="Teacher Name" value="${exams.teachName}"  />
                            <form:errors path="teachName" cssClass="error" />
                        </div>
                    </div>

                    <div class="form-group has-success">
                        <label for="vote" class="col-lg-3 control-label">Final Grade</label>
                        <div class="col-lg-9">
                            <form:input type="text" class="form-control" path="vote"
                                placeholder="Vote" value="${exams.vote}"  />
                            <form:errors path="vote" cssClass="error" />
                        </div>
                    </div>

                    <div class="form-group has-success">
                        <label for="cfu" class="col-lg-3 control-label">Credits (CFU)</label>
                        <div class="col-lg-9">
                            <form:input type="text" class="form-control" path="cfu"
                                placeholder="Credits" value="${editExam.cfu}"  />
                            <form:errors path="cfu" cssClass="error" />
                        </div>
                    </div>
                    <input type="submit" value="Save"
                        class="btn btn-primary pull-right">
                </fieldset>
            </form:form>