2016-02-05 38 views
0

我有一個jsp頁面,它將xml字符串參數傳遞給xsl中的模板。如何接收xsl中的原始數據

我在JSP代碼:

<x:transform doc="${transactions}" xslt="${xslTransaction}"> 
    <x:param name="xmlCategory" value="${xmlCategory}"/> 
</x:transform> 

但是當我打印的xmlCategory值和查看網頁源代碼。它給了我這樣的:

&lt;categories&gt;&lt;category&gt;&lt;id&gt;1&lt;/id&gt;&lt;type&gt;true&lt;/type&gt;&lt;name&gt;Salary&lt;/name&gt;&lt;userId&gt;1&lt;/userId&gt;&lt;/category&gt;&lt;/categories&gt; 

相反的:

<categories><category><id>1</id><type>true</type><name>Salary</name><userId>1</userId></category></categories> 

我想,正因爲如此,我不能轉換xmlCategory到節點集進行迭代。

有人可以向我解釋這種情況,以及如何解決它?

回答

0
字符

我不確定這是否可以在您的設置的情況下,但您可以嘗試在XSLT中使用disable-output-escaping="yes"

<xsl:value-of disable-output-escaping="yes" select="..." /> 

這應該防止所選字符串中的字符被轉義。

0

您的問題似乎是您的服務器正在轉義XML特殊字符。 我建議尋找到解碼它們放回實際UTF-8使用類似Apache的共享StringEscapeUtils.unescapeHTML4或編寫自己的代碼,需要轉義字符,對其進行適當替換(如「& LT」到「<」)

相關問題