JAXB에서 저지가 어떻게 작동하는지 이해하기 시작합니다.저지 마샬지도 <Date,List>
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MyClass{
@XmlJavaTypeAdapter(MapAdapter.class)
private Map<Date,List<MyObject>> = new TreeMap<Date,List<MyObject>>(new DateCompareDesc());
}
여기서의 목표는 항목을 MyObject의 해당 목록과 날짜지도 마샬이다 : 그러나 오늘 나는 마샬에 (날짜, 목록) 항목의지도를 원하는 특정 사건에 직면했다. 맵은 내림차순으로 정렬됩니다.
이 경우지도 용 어댑터 (MapAdapter, @Blise Doughan의 튜토리얼 http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html)를 구현했습니다. 문제는 Date 키에 있습니다. 오류 : java.util.Date를 마샬링 할 수 없습니다. 뉴저지 내 TreeMap의 핵심으로 날짜를 marhsall 수 있도록 내가 @XmlJavaTypeAdapter (DateAdapter.class)를 추가 할 수 있습니다
public class DateAdapter extends XmlAdapter<String, Date> {
@Override
public Date unmarshal(String v) throws Exception {
//not implemented
}
@Override
public String marshal(Date v) throws Exception {
return v.toString();
}
}
: 그래서 나는이 새로운 날짜 어댑터를 시도?
감사합니다.
안녕 Blaise, 답장을 보내 주셔서 감사합니다. 제 경우에는 제가지도 있습니다. 날짜와 목록은 적절한 주석을 추가 할 수있는 다른 클래스에서 가져 오지 않습니다. 그래서 그지도에 날짜와 목록을 Adapth에 주석으로 추가하는 것은 불가능합니까? –
Lahniep
@Lahniep -지도의 기본 표현을 사용하고 있습니까? 또한 날짜 정보는 어떻게 포맷됩니까? –
예 .. TreeMap이고 날짜가 SimpleDateFormat ("yyyy-MM-dd HH : mm : ss")로 형식이 지정됩니다. – Lahniep