我正在学习jsf。当我使用以下代码时,在 java.lang.String 中出现类转换异常:
<f:facet name="header">
<f:subview id="header">
<tiles:insert attribute="header" flush="false"/>
</f:subview>
</f:facet>
如果我将 subview ID 替换为 header 以外的其他名称,代码将成功运行。例如
<f:facet name="header">
<f:subview id="header1">
<tiles:insert attribute="header" flush="false"/>
</f:subview>
</f:facet>
我正在使用 David Geary 和 Cay Horstmann 合着的核心 Java 服务器界面。书中给出的示例对于构面名称和 subview ID 具有相同的值。请解释为什么我们应该为构面名称和 subview ID 赋予不同的值。
最佳答案
组件树使用 id 来引用所有内容。使用 jsf,您应该始终引用具有唯一 ID 的所有内容,或者您可以让 jsf 这样做,但如果您在多个标签中明确指定相同的名称,则会出现问题。
关于java - subview 标签的id属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412697/