JSF“渲染” - 奇怪的行为

时间:2013-10-08 11:51:03

标签: jsf-2 primefaces

我无法解释这一点 - 需要看到: Video screencast

请解释一下会发生什么?

下一个代码工作并返回true或false但是当我把它放到render =“”时这不起作用。

#{!empty detailsBean.goods.pictures}

rendered =“true”rendered =“false”rendered =“#{true}” - work

<p:commandButton id="btn_details" value="#{msg.btn_details}" oncomplete="PF('dlg-detailed').show()" update=":dlg-detailed-id">
    <f:setPropertyActionListener target="#{detailsBean.goods}" value="#{goods}" />
    <f:param name="id" value="#{goods.id}"/>
</p:commandButton>

对话框 - 我尝试使用条件渲染文本。

<p:dialog id="dlg-detailed-id" widgetVar="dlg-detailed" header="#{msg.btn_details}" dynamic="true" modal="true" draggable="false" width="800" height="600">
    <h:outputText value="Some Text For Rendering" rendered="#{!empty detailsBean.goods.pictures}" />
</p:dialog>

Mojarra 2.1.7-jbossorg-1
JBoss AS 7.1.1

我为我的英语错误道歉

1 个答案:

答案 0 :(得分:0)

在这种情况下,解决方案是:添加&lt; H:形式&GT;标签,然后渲染=“#{!empty detailsBean.goods.pictures}”工作

<h:form id="form-detailed" >
    <p:dialog id="dlg-detailed-id" widgetVar="dlg-detailed" header="#{msg.btn_details}" dynamic="true" modal="true" draggable="false" width="800" height="600">
        <h:outputText value="Some Text For Rendering" rendered="#{!empty detailsBean.goods.pictures}" />
    </p:dialog>
</h:form>