2015-04-14 99 views
1

我在創建一個帶有HTML代碼的Struts2驗證消息。Struts 2 Validation message with HTML code inside

例如:

<field-validator type="regex"> 
    <param name="expression"> 
     <![CDATA[^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(\.[0-9]{1,2})?$]]> 
    </param> 
    <message> 
     <b>${Price}</b> field for <b>${fundDescription}</b> and 
     <b>${currencyDescription}</b> must be a number and in the correct format 
    </message> 
</field-validator> 

我知道<b>${Price}</b>&lt;b&gt;${Price}&lt;/b&gt;不起作用。有沒有辦法做到這一點?

我不包括我的整個代碼,因爲它是不相關的。

回答

2

出於安全原因,錯誤消息被轉義(不顯示html)。如果您使用xhtml主題(默認),則在FreeMarker模板中會發生轉義。

,因爲它是你可以創建自己的模板,並顯示錯誤,也可以使用<s:fielderror>標籤與escape屬性設置爲false使用不同的主題(如simple),並顯示錯誤。

但請注意,不能轉義您不完全控制的html內容會導致安全問題。

+0

謝謝。它按我的需要工作..現在我必須決定是否使用安全問題。 – Adriano