0

我有一个复合组件,它有一个对话框......在对话框中我有以下代码:

                    <p:commandButton id="selectButton" icon="ui-icon-check" oncomplete="lookupDialog.hide();" update=":#{cc.clientId}:#{cc.attrs.fieldId}_panelGrid">
                        <f:setPropertyActionListener target="#{cc.attrs.targetValue}" value="#{entity}" />                          
                    </p:commandButton>

因此,当单击按钮时,对话框消失,但未设置属性。没有错误,没有警告,什么都没有!所以我根本不知道发生了什么......

如果您需要更多详细信息,请直接说出来!:)

***编辑

这是一个相关的问题,但并不是我真正想做的......将 参数传递给复合组件操作属性

我只需要 propertyActionListener 来工作。这里有一些额外的信息:

    <cc:attribute name="targetValue" required="true"/>      

价值:

    targetValue="#{acaoController.entity.responsavel}"

在 bean (acaoController) 内部我有一个实体......在实体内部我有另一个对象,即“responsavel”。

4

1 回答 1

0

尝试在关闭对话框时检查响应的 setter 和 getter 是否被调用。否则,您可以使用 Flash 在组件之间传递值。在命令按钮的动作方法中,

    Flash flash = FaceUtil.getFacesContext().getExternalContext().getFlash();
    flash.put("entity",entity);

您可以像这样提取值:

    Flash flash = FaceUtil.getFacesContext().getExternalContext().getFlash();
    responsavel = (Responsavel) flash.get("entity");
于 2013-01-03T20:46:28.123 回答