2012-10-26 38 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