【问题标题】:The layout attribute is invalid according to the specified TLD布局属性根据指定的 TLD 无效
【发布时间】:2012-01-04 17:00:33
【问题描述】:

我的网站需要<div>,但我使用的是 JSF。然后我需要<h:panelGroup> 标签和layout="block" 属性。

我的代码是:

<h:panelGroup styleClass="content" layout="block">

但是,我使用的 Tomcat 服务器返回错误并说:

布局属性根据指定的TLD无效。

我需要帮助,因为我不明白这个错误。

【问题讨论】:

  • :P 你好像在用隐形墨水。我需要将柠檬水倒在笔记本电脑的屏幕上吗?
  • @Mr.J4mes:OP没有看markdown格式规则,也没有关注消息编辑器下方的消息预览区。我已经编辑了问题并相应地修复了代码格式。缩进 4 个空格的代码将正确格式化而不是隐藏,因为它被解释为 HTML。在未来的此类“隐形代码”问题中,您可以单击 edit 链接查看提问者实际输入的内容(如有必要,请编辑/改进它!:))。
  • @BalusC 感谢您提醒我:P。我一直忘记我能做到这一点。
  • 谢谢,这是我的第一篇文章。对不起:D

标签: jsp jsf layout html


【解决方案1】:

&lt;h:panelGroup&gt;layout 属性是在 JSF 1.2 中引入的。此错误表明您使用的是古老的 JSF 1.1,甚至可能是死掉的 JSF 1.0。

你基本上有两个选择:

  1. 升级到 JSF 1.2,或者最好升级到 JSF 2.x,它已经推出了 2 年多,几乎是 2.2 版。您可以下载 JSF 实现 here。请注意,JSP 上的 JSF 1.2 至少需要一个与 Servlet 2.5 兼容的容器。因此,您至少需要拥有 Tomcat 6.0 版,或者最好是 Tomcat 7.0,它也已经推出了 2 年多。确保您的 web.xml 声明符合容器支持的最高 servlet 版本。

  2. 如果您无法升级到 JSF 1.2 或更高版本,因为某些不清楚的原因您被困在 Tomcat 5.5 或更高版本,那么您应该忘记使用 &lt;h:panelGroup layout&gt; 并改用普通的 &lt;div&gt; 元素。您只需要将其包装在 &lt;f:verbatim&gt; 中,因为 JSF 1.1 及更早版本无法正常处理纯 HTML。

    <f:verbatim><div></f:verbatim>
        ...
    <f:verbatim></div></f:verbatim>
    

另见:

【讨论】:

  • 谢谢!正是这个问题,我用的是1.0版本。
  • 啊,太恐怖了。强烈考虑升级。
猜你喜欢
  • 1970-01-01
  • 2018-04-19
  • 2014-06-23
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
相关资源
最近更新 更多