我基于表单对象创建了一个表单。
我预先填写了表单对象,然后显示它,但是显示了一些字段,而另一些则没有。
这是一个出现问题的字段的示例:

JSP:

<tr>
        <td class="label"><a class="required"></a><spring:message code="service.userNumber" /></td>
        <td class="value">
                <form:select path="userNumber">
                    <form:option label="" value="" />
                    <form:options items="${serviceModelList}" itemLabel="description" itemValue="description" />
                </form:select>
                <form:errors path="userNumber" cssClass="errormsg" />
        </td>
</tr>


我的表单对象的一部分:

@NotEmpty
private String userNumber;

 public DeviceRequestForm(IDeviceRequest deviceRequest) {
    this.id = String.valueOf(deviceRequest.getId());
    this.site = deviceRequest.getSite();
    this.category = deviceRequest.getServiceCategory().getDescription();
    this.userNumber = deviceRequest.getServiceModelDescription(); //this is not null
    this.validator = deviceRequest.getValidator().getUsername();
    this.status = deviceRequest.getStatus();
    if (deviceRequest.getDeviceModel() != null) {
        this.deviceModel = deviceRequest.getDeviceModel().getModel();
    }
}

public String getUserNumber() {
    return userNumber;
}

public void setUserNumber(String userNumber) {
    this.userNumber = userNumber;
}


我的控制器的一部分:

uiModel.addAttribute(WebConstants.DEVICE_REQUEST_FORM, new DeviceRequestForm(deviceRequest));
return ViewConstants.NEW_REQUEST_DEVICE_VIEW;

最佳答案

找到解决方案,

要预填充表单:选择您必须在其中提供所需值的列表

例如:

如果您想使用“ TOTO”值预填充表单
您必须在列表中具有“ TOTO”值

关于java - Spring 预填表格无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29605572/

10-09 19:38