【发布时间】:2009-01-05 10:00:28
【问题描述】:
我正在学习 jsf。当我使用以下代码时,我在 java.lang.String 中得到类转换异常:
<f:facet name="header">
<f:subview id="header">
<tiles:insert attribute="header" flush="false"/>
</f:subview>
</f:facet>
如果我将子视图 ID 替换为标题以外的其他名称,则代码将成功运行。例如
<f:facet name="header">
<f:subview id="header1">
<tiles:insert attribute="header" flush="false"/>
</f:subview>
</f:facet>
我正在使用 David Geary 和 Cay Horstmann 编写的核心 Java 服务器面簿。书中给出的示例对于 facet name 和 subview id 具有相同的值。请解释为什么我们应该为 facet name 和 subview id 提供不同的值。
【问题讨论】:
-
这里应该没有冲突。可能是实现错误。哪个 JSF 库提供程序(例如 Apache;Sun)?什么版本?控制方面是什么?堆栈跟踪可能会有所帮助。
-
看看javapassion.com/handsonlabs/jsftiles,尤其是“练习3”,看看你是否漏掉了什么。还要检查你没有拼错任何东西。
-
你能发布堆栈跟踪吗?