我無法讓JAXB在Resteasy JAX-RS服務器應用程序中解組時間戳。jaxb unmarshal timestamp
我的類看起來是這樣的:
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "foo")
public final class Foo {
// Other fields omitted
@XmlElement(name = "timestamp", required = true)
protected Date timestamp;
public Foo() {}
public Date getTimestamp() {
return timestamp;
}
public String getTimestampAsString() {
return (timestamp != null) ? new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(timestamp) : null;
}
public void setTimestamp(final Date timestamp) {
this.timestamp = timestamp;
}
public void setTimestamp(final String timestampAsString) {
try {
this.timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(timestampAsString);
} catch (ParseException ex) {
this.timestamp = null;
}
}
}
任何想法?
謝謝。
我真的想出瞭如何使用@XmlJavaTypeAdapter進行翻譯。有了這個,我已經能夠適應幾個不同的Java類,這些類在我的代碼中需要特殊的處理。謝謝。 – Ralph 2010-07-06 11:01:08
您需要對SimpleDateformat非常小心,因爲它不是線程安全的!我不確定JAXB是否每次都爲適配器創建一個新對象。 – 2011-03-02 04:16:48
欲瞭解更多信息,請參閱:http://bdoughan.blogspot.com/2011/01/jaxb-and-datetime-properties。html – 2011-03-19 01:36:40