簡體   English   中英

JAXB:如何使JAXB NOT將空字符串解組為0

[英]JAXB: how to make JAXB NOT to unmarshal empty string to 0

我有一個DTO類,其字段如下:

@XmlAttribute
@NotNull
private Integer number = null;

我正在嘗試解組xml等

...  number=""  ...

我需要nuber字段保持為null,以便拋出驗證異常。 相反,JAXB將其解組為0.如何才能使其正常運行?

可以說,它行為正確的。 number=""並不意味着null,它是一個空字符串,並且JAXB必須嘗試正確處理它,並且它確定與Integer數據類型的空字符串最接近的是零。 如果你想要一個null ,那么應該完全省略number屬性。

如果要自定義此行為,則需要編寫javax.xml.bind.annotation.adapters.XmlAdapter的子類,該子類可以按照您希望的方式處理原始String和boundtype之間的轉換(即String和Integer之間)。 然后,通過使用@XmlJavaTypeAdapter注釋該字段來@XmlJavaTypeAdapter該適配器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM