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 サーバーのフェイスブックを使用しています。本に記載されている例では、ファセット名とサブビュー ID の値が同じです。ファセット名とサブビュー ID に異なる値を指定する必要がある理由を説明してください。

4

1 に答える 1

1

コンポーネント ツリーは ID を使用してすべてを参照します。jsf では、常に一意の ID を使用してすべてを参照する必要があります。または、jsf に任せることもできますが、複数のタグで同じ名前を明示的に指定すると、問題が発生します。

于 2009-01-07T14:57:00.240 に答える