我使用的<p:commandButton>
標記具有更新屬性並將更新屬性中的當前元素ID傳遞爲currentForm: messages
。如:update="currentForm: messages"
。消息是<div>
元素的id
,我希望在請求調用後更新元素。JSF自定義組件中的更新屬性需要完整的元素ID路徑,因爲直接PrimeFaces組件使用較短的元素ID路徑運行
這工作正常。
現在我使用與主模板中相同的命令按鈕創建了一個複合組件,並用創建的自定義命令按鈕替換了PrimeFaces命令按鈕。 (目前沒有中創建命令按鈕所做的任何自定義更改正當壯年的面孔命令在該按鈕)
當我呈現的是抱怨我對給定的ID更新模板屬性錯誤給出如下:
javax.faces.FacesException: Cannot find component with expression "currentForm
如果我給這個元素的完整元素ID路徑,它再次工作。
雖然如果我們給元素的完整元素ID路徑是好事,但是讓我驚訝的是爲什麼當我調用直接PrimeFaces命令按鈕時它工作正常?