我想使用 CDATA 块编组我的对象。我可以通过为 CharacterEscapeHandler(http://stackoverflow.com/questions/14193944/jaxb-marshalling-unmarshalling-with-cdata)创建编组器和设置属性来做到这一点。但在泽西,编组是由泽西完成的。那么我怎么能告诉球衣用 CDATA 编组对象。
我有以下服务
@GET
@Path("/getdata")
@Produces(MediaType.TEXT_XML)
public HelloBean getData() throws Exception
{
HelloBean h1 = new HelloBean();
h1.setName("kshitij");
return h1;
}
和豆类是
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "root")
@XmlAccessorType(XmlAccessType.FIELD)
public class HelloBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我尝试添加适配器类。但问题是我如何将附加属性设置为球衣正在使用的默认编组器。
我想设置以下属性。
marshaller.setProperty(CharacterEscapeHandler.class.getName(), new CharacterEscapeHandler() {
public void escape(char[] ac, int i, int j, boolean flag,
Writer writer) throws IOException {
writer.write( ac, i, j ); }
});