我有一个有对话框的复合组件...... 在对话框中,我有以下代码:
<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>
因此,单击该按钮时,对话框消失,但未设置该属性。 没有错误,没有警告,没有!所以我根本不知道发生了什么......
如果您需要更多细节,请说出来! :)
*** EDIT
这是一个相关的问题,但不是我想要做的...... Pass Argument to a composite-component action attribute
我只需要使用propertyActionListener即可。 这里有一些额外的信息:
<cc:attribute name="targetValue" required="true"/>
值:
targetValue="#{acaoController.entity.responsavel}"
bean里面的位置(acaoController) 我有一个实体...... 在实体内部,我有另一个对象,即“responsavel”。
答案 0 :(得分: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");