在我的情況下,我想刷新ID爲baseTab
的組件。它本身包含如果形式main
和tabView tabs
。對組件的絕對引用是main:tabs:baseTab
。而這也正是我需要參考例如在更新屬性:如何使用唯一標識定位特定的JSF組件?
<p:commandButton update="main:tabs:baseTab"/>
這樣的全ID的問題是,它是漫長的,可當我改變在組件層次的東西被輕易改變。 ID baseTab本身是獨特的,所以我應該至少在理論上能夠直接引用這個組件。但我怎麼能做到這一點?
通過唯一ID引用組件的語法是什麼?我已經試過如下:
- :baseTab
- baseTab
- 主:baseTab
- :標籤:baseTab
,沒有那是工作,每個造成此頁面錯誤,這種組件不存在....
可能的重複[如何在JSF ajax中引用組件?在視圖中找不到標識符爲「foo」的組件(http://stackoverflow.com/a/8644762)。你需要':main:tabs:baseTab'。 – BalusC
您只能通過ID直接引用組件,它們必須至少具有相同的父表單。我想這會對性能產生一定的影響,但Dom處理器必須通過DOM樹對id進行梳理,而不是直接引用 – kolossus
DOM性能沒有任何關係。整個jQuery基於DOM搜索,並且通過ID進行搜索,無論是否獨特,都是極快的操作。 –