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