2

我正在学习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 提供不同的值。

4

1 回答 1

1

组件树使用 id 来引用所有内容。使用 jsf,您应该始终使用唯一的 id 引用所有内容,或者您​​可以让 jsf 这样做,但如果您在多个标签中明确指定相同的名称,您将遇到问题。

于 2009-01-07T14:57:00.240 回答