내가 속성으로 긴 문자열을 얻고 나는 그것의 일부를 비 정렬 화하려는의 일부를 설정합니다.JAXB : 비 정렬 화 및 속성 값
<Party id="PARTYID_1341592540748_ed044bd3-b8b2-40f9-a679-4daa411ecc45">
하지만 난 그냥 1341592540748
이 ID로 설정하려면 :
다음은 요소가 어떻게 생겼는지입니다.
@XmlAttribute 문자열을 즉시 편집 할 수 있습니까?
내가 속성으로 긴 문자열을 얻고 나는 그것의 일부를 비 정렬 화하려는의 일부를 설정합니다.JAXB : 비 정렬 화 및 속성 값
<Party id="PARTYID_1341592540748_ed044bd3-b8b2-40f9-a679-4daa411ecc45">
하지만 난 그냥 1341592540748
이 ID로 설정하려면 :
다음은 요소가 어떻게 생겼는지입니다.
@XmlAttribute 문자열을 즉시 편집 할 수 있습니까?
나는이 논리를 포함 할 XmlAdapter
의 인스턴스를 구현하는 것이 좋습니다. 이 방법의 장점은 XML 변환 논리가 도메인 모델과 별도로 유지된다는 것입니다. XmlAdapter
은 @XmlJavaTypeAdapter
주석을 사용하여 필드/속성에 설정됩니다. 추가 정보
한 가지 방법은 세터 방법의 변환을 할 수 있습니다, 이런 일이 (테스트하지) :
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Party {
@XmlTransient long id;
// traditional JavaBean accessors for the long, _not_ used by JAXB
public long getId() { return id; }
public void setId(long id) { this.id = id; }
// converting accessors for JAXB
@XmlAttribute(name = "id")
public String getStringId() { return String.valueOf(id); }
public void setStringId(String idStr) {
// extract relevant bit of the string and parse it into a long
}
}