为了帮助JAXB,您可以将您的“包装”
HashMap在一个类中,然后使用
@XmlJavaTypeAdapter来将地图的自定义序列化为XML。
public class Response { @XmlJavaTypeAdapter(MapAdapter.class) HashMap<Integer, Book> books; public HashMap<Integer, Book> getBooks() { return mapProperty; } public void setBooks(HashMap<Integer, Book> map) { this.mapProperty = map; }}然后使用此类作为您的返回值
WebMethod
@WebMethod(operationName="getBookList") public Response getBookList() { HashMap<Integer, Book> books = new HashMap<Integer,Book>(); Book b1 = new Book(1,"title1"); Book b2 = new Book(2, "title2"); books.put(1, b1); books.put(2, b2); Response resp = new Response(); resp.setBooks(books); return resp; }毕竟,您需要实现您的适配器
MapAdapter。有几种方法可以做到这一点,所以我建议您检查一下



