作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将以下内容返回到浏览器(查看源代码)
<content>
<![CDATA[Please show this inside a unescaped CDATA tag]]>
</content>
<content>
Please show this inside a unescaped CDATA tag
</content>
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/myRequest")
public class MyRestClass {
@GET
@Path("{myPathNumber}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Object doInquiry(@PathParam("myPathNumber") String myPathNumber) {
try {
return new MyObject();
} catch (Exception e) {
return "exception " + e.getMessage();
}
}
}
package org.openengine.wink;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.eclipse.persistence.oxm.annotations.XmlCDATA;
@XmlRootElement
public class MyObject implements Serializable {
@XmlElement
@XmlCDATA
private String content = "Please show this inside a unescaped CDATA tag";
}
org.openengine.wink
我有一个文件,
jaxb.properties
, 内容如下
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
最佳答案
类路径
我最好的猜测是 EclipseLink JAXB (MOXy)未在您的类路径上正确配置,并且 JAXB RI 被用作您环境中的 JAXB (JSR-222) 提供程序。
元数据
EclipseLink JAXB (MOXy)您提供的元数据似乎是正确的。这可以通过以下独立演示代码进行验证。
我的对象
默认 JAXB (JSR-222)实现在属性(getter/setter)上查找元数据。由于您对该字段进行了注释,我建议您使用 @XmlAccessorType(XmlAccessType.FIELD
注释(参见: http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html )。
package org.openengine.wink;
import java.io.Serializable;
import javax.xml.bind.annotation.*;
import org.eclipse.persistence.oxm.annotations.XmlCDATA;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MyObject implements Serializable {
@XmlElement
@XmlCDATA
private String content = "Please show this inside a unescaped CDATA tag";
}
jaxb.properties
的文件。在与域模型相同的包中包含以下条目(请参阅:
http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html )。
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
package org.openengine.wink;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(MyObject.class);
MyObject myObject = new MyObject();
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(myObject, System.out);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<myObject>
<content><![CDATA[Please show this inside a unescaped CDATA tag]]></content>
</myObject>
关于rest - MOXy 的 @XmlCDATA 似乎没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183510/
我似乎无法让@XmlCData 注释起作用,即使 MOXy 已正确设置。 我的代码,attached , 输出: 1
我想将以下内容返回到浏览器(查看源代码) 但我真的得到 Please show this inside a unescaped CDATA tag 如果,我将内容的值更改为 ,标签的小于和
我是一名优秀的程序员,十分优秀!