2012-03-16 113 views
1

我正在使用Java資源包管理郵件。向java資源包屬性文件添加HTML超鏈接

我需要在JSF頁面中顯示消息,並且消息還包含一些HTML標記。 不幸的是,HTML碼也顯示在屏幕上,而不是由瀏覽器被呈現爲HTML:

IE

Click me <a href="link....">here</a> 

我在屬性信息文件中:

clickme=Click me <a href="link....">here</a> 

我的JSF:

<h:outputText value="#{messages['clickme']}" /> 


任何想法?

由於

回答

1

JSF/Facelets的,以便防止重新顯示XSS attacks用戶控制數據時逸出通過缺省HTML特殊字符。您可以通過將escape屬性明確設置爲false,以每個<h:outputText>爲基礎將其關閉。

<h:outputText value="#{messages['clickme']}" escape="false" /> 

你只需要絕對確保你沒有爲unsanitized用戶控制數據,這是一切與HTTP請求進來,如頭,cookie,參數,機身做到這一點,等等。

+0

非常感謝BalusC。非常有意義。 – 2012-03-16 13:49:31

+0

不客氣。 – BalusC 2012-03-16 13:50:54