【问题标题】:Why I can't use tags inside f:attribue for h:outputFormat?为什么我不能在 f:attribue 中为 h:outputFormat 使用标签?
【发布时间】:2011-03-18 22:18:12
【问题描述】:

在将应用程序从 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>

得到错误:

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

提前致谢!

【问题讨论】:

    标签: jsf


    【解决方案1】:

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

    <
    

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

    &lt; 
    

    更多信息可以在这里找到:http://www.devx.com/tips/Tip/14068

    PS:同时将所有&amp;gt;替换为&amp;gt;

    【讨论】:

    • 不幸的是它不起作用:元素类型“f:param”必须后跟属性规范,“>”或“/>”。
    【解决方案2】:

    而是将链接元素放在消息本身中并参数化链接href。

    废话废话废话

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

    【讨论】:

    • 在这种情况下,我将视图层移动到本地化,很遗憾;(
    【解决方案3】:

    您需要替换 f:param 值中的 ,而不是 f:param 本身的前后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 2019-09-05
      • 2017-09-01
      • 2018-01-27
      相关资源
      最近更新 更多