2012-08-07 2 views
1

JAXB가 생성 한 setCHECKDT (XMLGregorianCalendar 값) 메소드가 있습니다. 실제 비즈니스 로직 (비즈니스 로직을 수정할 수 없음)에서 CHECKDT가 null 값으로 나타날 수 있으므로 xml 생성 메소드에 할당해야합니다.null을 XMLGregorianCalendar에 할당

null 날짜를 설정자로 설정하는 동안 XML에서 사라집니다. XMLGregorianCalendar 날짜 나 태그를 생성하는 방법에 null 값을 할당하는 방법을 제안하십시오.

답변

1

Java 속성을 null로 설정하면 직렬화 될 때 요소가 XML에서 빠져 나가게됩니다. 여전히 XML의 요소를 원하는 경우에, 당신의 옵션 중 하나입니다 :

  1. 이 (비) 직렬화 빈 태그 (http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html#wp155652 참조) 처리 할 수있는 자신의 날짜/시간 변환기를 작성합니다.

  2. 주석 다음 nillable로로와 자바 속성 :

@XmlElement(required = true, nillable = true) 
private XMLGregorianCalendar yourProperty; 
지금 직렬화 된 XML은 null의 경우에도 요소가 포함됩니다. 요소는 'nil = "true"'속성으로 표시됩니다.

<yourProperty xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> 
관련 문제