2010-07-21 64 views
1

在將應用程序從JSF 1.2移植到JSF 2.0.3(Mojarra)期間出現問題。我有以下代碼:爲什麼我不能在h:outputFormat的f:attribue裏使用標籤?

<h:outputFormat value="#{m.t_if_you_forget_password}" escape="false"> 
    <f:param value="<a href=\"/restore_password.jsf\">" /> 
    <f:param value="</a>" /> 
</h:outputFormat> 

,並得到了錯誤:

Error Traced[line: 22] The value of attribute "value" associated with an element type "null" must not contain the '<' character. 

如何解決呢?爲什麼JSF(facelets?)拒絕它? <和> f:param的值有什麼問題?

順便說一句,如果它可以幫助:我使用的GlassFish提前3.0.1

謝謝!

回答

1

而是代替把鏈接元素的消息本身中並參數化鏈接href。

Blah blah <a href="{0}">blah blah</a> blah blah

<f:param value="restore_password.jsf"> 
+0

在這種情況下,我將視圖層移動到本地化,這是一個可惜;( – 2010-07-21 15:20:19

6

你在你的屬性值使用的XML特殊字符:

< 

錯誤說你不能這樣做,這是正確的。如果它們不是文檔的xml代碼的一部分,則應該使用這些字符的聲明。在標誌的情況下,上面替換它們

&lt; 

進一步的信息可以在這裏找到:http://www.devx.com/tips/Tip/14068

PS:也都>&gt;

+0

不幸的是它不起作用: 元素類型「f:param」必須後面跟有屬性規範,「>」或「/>」。 – 2010-07-21 15:12:03

1

需要更換裏面F中的<和>:參數值的方式,而不是之前和f後:PARAM本身。

相關問題