2009-09-29 162 views
1

我有一个基本的JavaBean在我的服务层,最初它不是为编组而设计的。 JAX-WS,JAX-RS和Servlet在我的应用程序的其他层中都使用此对象。我想在我的REST服务中利用向下钻取效果,所以我的问题是:如何使javabean的某个字段/属性作为HTML链接出现在xml中?显然我需要使用CData。我无法通过添加字段等来修改原始的javabean。有没有我可以使用的注释?JAXB - 为html链接添加一个节点作为html链接

如果我有我的类:

... 
String data; 
... 

我如何作出这样的(XML格式):

<data><![CDATA[<a href="somearbitrarylink">ValueOfData</a>]]></data> 

是这可能与JAXB和批注?也许xlink?

回答

2

我建议使用类型适配器。这些通常用于将XML字符串值调整为更加强类型的值(如时间戳),但您也可以使用它们将字符串调整为字符串。

首先,创建一个javax.xml.bind.annotation.adapters.XmlAdapter的子类。此类将必须实现marshalunmarshal,转换为来自您的字段的值以及XML中的HTML片段。

一旦你的,你可以用

@XmlJavaTypeAdapter(MyAdapter.class) 

注解你的领域,这应该是它。