4

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

例如,假设我向 uiModel 添加了一个queryInfo对象。

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

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

这可能吗?如果有怎么办?

4

3 回答 3

8

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

model.addAttribute("queryInfo", queryInfo);

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

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

... 

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

<form:input path="name" />

请记住 form:input 是 form:form 的子标签。它不适合单独使用。

于 2012-07-20T03:26:52.417 回答
0

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

我的形式:选择是这样的:

<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>
于 2014-02-24T16:48:22.100 回答
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>
于 2015-08-21T22:05:07.153 回答