2009-01-05 89 views
2

我正在學習jsf。我得到的類轉換異常在java.lang.String中,當我使用下面的代碼:subview標籤的id屬性

<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提供不同的值。

+0

這裏應該沒有衝突。可能是一個執行錯誤。哪個JSF庫提供者(例如Apache; Sun)?什麼版本?什麼控制的方面?堆棧跟蹤可能會有所幫助。 – McDowell 2009-01-05 15:39:25

+0

看看http://www.javapassion.com/handsonlabs/jsftiles/,特別是「練習3」,看看你是否錯過了一些東西。另外檢查一下你沒有拼錯任何東西。 – martinatime 2009-01-05 18:44:27

回答

1

組件樹使用ID來引用一切。有了jsf,你應該總是引用一個唯一的id,或者你可以讓jsf做到這一點,但如果你明確地指定多個標籤中的同名,你將會遇到問題。