2012-10-26 41 views
1

我在我的表單上有一個組件(id =「theDocument」),我想在某些情況下呈現不同的組件。更改ajax更新組件類型

如果「myBean.theDocument」存在,我希望它呈現爲號碼:commandLink,但如果它不存在,我希望它例如呈現爲純文本h:outputText。文件上傳後

這種情況將會改變(上傳後,myBean.theDocument會存在,所以我希望它渲染爲號碼:commandLink)。

所以我號碼:文件上傳,我有這樣的事情:

<p:fileUpload fileUploadListener="#{myBean.handleFileUpload}" update="theDocument"> 

我一直在使用渲染=「...」,和更新工作正常刷新的價值現有組件。但我怎麼一個AJAX更新後更改組件的類型(或者我需要刷新整個頁面,並呈現爲文本或更一般的方式鏈接的決定嗎?

感謝

+0

如果我的問題是不明確的,讓我知道,我會盡力澄清:奮力拿出正確的話來解釋我的問題... – Richard

回答

1

只是有兩個條件渲染組件在一個共同的父母和更新公共父

<h:panelGroup id="theDocument"> 
    <p:commandLink ... rendered="#{not empty myBean.theDocument}" /> 
    <h:outputText ... rendered="#{empty myBean.theDocument}" /> 
</h:panelGroup> 
+0

完美,謝謝 – Richard

+0

Y不客氣。 – BalusC