为什么我不能在f:attribue for h:outputFormat中使用标签?

Sla*_*hin 1 jsf

在将应用程序从JSF 1.2移植到JSF 2.0.3(Mojarra)期间出现问题.我有以下代码:

<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>
Run Code Online (Sandbox Code Playgroud)

并得到错误:

Error Traced[line: 22] The value of attribute "value" associated with an element type "null" must not contain the '<' character. 
Run Code Online (Sandbox Code Playgroud)

怎么解决?为什么JSF(facelets?)拒绝它?f:param值中<和>有什么问题?

顺便说一句,如果它可以帮助:我使用GlassFish 3.0.1

提前致谢!

bl4*_*0l7 8

您在属性的值中使用了xml特殊字符:

<
Run Code Online (Sandbox Code Playgroud)

错误说你不能这样做,这是正确的.如果这些字符不属于文档的xml代码,则应使用这些字符的声明.在上面的标志的情况下替换它们

&lt; 
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请访问:http://www.devx.com/tips/Tip/14068

PS:也替换所有>&gt;