我如何像JAX-RS(CXF和Jersey)一样用JAXB封送java.util.List。
似乎最新的 JAX-RS 可以处理返回 java.util.List 作为 XMLRootElement 的方法,但普通的 JAXB 不能。我想模仿CXF和泽西岛正在做的事情。
换句话说,我想整理一个列表,就像CXF和泽西岛一样。通常,如果您尝试使用 JAXB 封送列表,则会出现根元素异常。我如何解决这个问题而不必制作包装对象?
编辑:感谢许多答案,但我非常熟悉@XmlElementWrapper但这甚至没有接近模拟JAX-RS正在做的事情。
JAX-RS 这样做:
@XmlRootElement(name="dog")
public class Dog {
private String name;
public String getName() { return this.name; }
//Setter also
}
现在,如果我序列化狗的列表:
serialize(List<Dog> dogs);
XML 应该是(JAX-RS 所做的):
<dogs>
<dog><name>Rascal</name></dog>
</dogs>
所以你可以看到我不想为每个域对象创建一个包装器对象。