2009-09-29 88 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) 

註解你的領域,這應該是它。