Thymeleaf不能将zoneddatetime绑定到输入字段

时间:2019-03-14 22:13:46

标签: java thymeleaf

这是我的表格

<form th:action="@{/pages/org/create}" th:object="${org}" method="post" id="createOrgForm">
                    <div class="row">
                       <div class="form-group col-sm-12">
                          <label for="name">Name</label> <input class="form-control" id="name" type="text" th:field="*{name}" />
                       </div>
                    </div>

                    <div class="row">
                       <div class="form-group col-sm-12">
                          <label for="uuid">Uuid</label> <input class="form-control" id="uuid" type="text" th:field="*{uuid}" />
                       </div>
                    </div>
                    <div class="row">
                       <div class="form-group col-sm-12">
                          <label for="expiryDate">Expiry Date</label> 
                          <input class="form-control" id="expiryDate" type="date" name="expiryDate" th:value="${#temporals.format(org.expiryDate, 'dd/MMM/yyyy HH:mm', 'en')}"/>/>
                       </div>
                    </div>
                 </form>

对象的名称和uuid为字符串 它还有一个expiryDate,它是zonedDateTime

我想将expiryDate作为zoneddatetime返回,但找不到任何示例

有人知道怎么做吗?

如果需要更多详细信息,请告诉我

我有这个错误

发生意外错误(类型=错误请求,状态= 400)。 对object ='org'的验证失败。错误计数:1

因为org.expiryDate是一个字符串,并且期望使用zoneddatetime

public class OrganizationDto extends TemporallyScopedEntityFlatDto {

private static final long serialVersionUID = -2191341305487098272L;

public static OrganizationDto fromEntity(final Organization o) {
    if (o == null) {
        return null;
    }
    final OrganizationDto dto = new OrganizationDto();
    DtoUtil.copyVersioned(o, dto);
    DtoUtil.copyTemporallyScoped(o, dto);
    dto.setName(o.getName());
    dto.setUuid(o.getUuid());
    return dto;
}

@ApiModelProperty(value = "The display name of this organization.")
private String name;
@ApiModelProperty(value = "The unique identifier of this organization.")
private String uuid;

private ZonedDateTime expiryDate;

public String getName() {
    return name;
}

public String getUuid() {
    return uuid;
}

public void setName(final String name) {
    this.name = name;
}

public void setUuid(final String uuid) {
    this.uuid = uuid;
}

}

0 个答案:

没有答案