如何阻止 String 在 Payara 中被解释为 DateTime?
How to stop the String from being interpreted as DateTime in Payara?
大家好!我有一个 get 方法,结果存储在这样的地方:
@XmlRootElement(name = "FooDTO")
public class Foo {
@XmlElement(nillable = true)
private String approvedDate;
private static final DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat(
"dd.MM.yyyy");
public Date getApprovedDate() {
try {
return StringUtils.isBlank(approvedDate) ? null
: DEFAULT_DATE_FORMAT.parse(approvedDate);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public void setApprovedDate(Date approvedDate) {
this.approvedDate = approvedDate == null ? "" : DEFAULT_DATE_FORMAT
.format(approvedDate);
}
}
它在 Glassfish 服务器中工作,我得到 approvedDate 作为 dd.MM.yyyy 格式的字符串。然而,在 Payara 中,字符串被格式化为 yyyy-MM-ddTHH:mm:ssZ[Timezone]。我如何调整它以使字符串不会得到 "interpreted" 作为 DateTime?谢谢!
据我所知,您有一个私有字段 approvedDate
,因此进程 marshal/unmarshal 通过 get/set 访问该字段,在本例中,它作为 Date 类型返回getApprovedDate
方法。
尝试:
@XmlRootElement(name = "FooDTO")
public class Foo {
@XmlElement(nillable = true)
private String approvedDate;
private static final DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy");
public String getApprovedDate() {
return approvedDate;
}
public void setApprovedDate(Date approvedDate) {
this.approvedDate = approvedDate == null ? "" : DEFAULT_DATE_FORMAT
.format(approvedDate);
}
}
大家好!我有一个 get 方法,结果存储在这样的地方:
@XmlRootElement(name = "FooDTO")
public class Foo {
@XmlElement(nillable = true)
private String approvedDate;
private static final DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat(
"dd.MM.yyyy");
public Date getApprovedDate() {
try {
return StringUtils.isBlank(approvedDate) ? null
: DEFAULT_DATE_FORMAT.parse(approvedDate);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public void setApprovedDate(Date approvedDate) {
this.approvedDate = approvedDate == null ? "" : DEFAULT_DATE_FORMAT
.format(approvedDate);
}
}
它在 Glassfish 服务器中工作,我得到 approvedDate 作为 dd.MM.yyyy 格式的字符串。然而,在 Payara 中,字符串被格式化为 yyyy-MM-ddTHH:mm:ssZ[Timezone]。我如何调整它以使字符串不会得到 "interpreted" 作为 DateTime?谢谢!
据我所知,您有一个私有字段 approvedDate
,因此进程 marshal/unmarshal 通过 get/set 访问该字段,在本例中,它作为 Date 类型返回getApprovedDate
方法。
尝试:
@XmlRootElement(name = "FooDTO")
public class Foo {
@XmlElement(nillable = true)
private String approvedDate;
private static final DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy");
public String getApprovedDate() {
return approvedDate;
}
public void setApprovedDate(Date approvedDate) {
this.approvedDate = approvedDate == null ? "" : DEFAULT_DATE_FORMAT
.format(approvedDate);
}
}