我有一个编辑器组件,显示所选系列(来自树)描述
所以在编辑完之后,用户点击那里的保存按钮我想用这个
<f:setPropertyActionListener target="#
{projectTestManagementMB.selectedNodeDescription}"
value="projectTestManagementMB.selectedFamily.description" />
将描述的新值传递给此变量selectedNodeDescription。但是当我检查它时,我发现它包含projectTestManagementMB.selectedFamily.description
的旧值,而不是新值。
以下是代码:
<p:editor id="familyDescriptionEditor" value="#
{projectTestManagementMB.selectedFamily.description}" width="600"/>
<p:commandButton id="submitButton" value="Save" icon="ui-icon-disk"
actionListener="#{projectTestManagementMB.saveDescription}">
<f:setPropertyActionListener target="#
{projectTestManagementMB.selectedNodeDescription}"
value="projectTestManagementMB.selectedFamily.description" />
</p:commandButton>
答案 0 :(得分:1)
此标记创建并安装的ActionListener实例具有以下行为和合同。 仅在第一次创建此标记的组件时创建并注册ActionListener实例。
因此,请尝试使用action属性而不是actionListener:
<p:commandButton id="submitButton" value="Save" icon="ui-icon-disk" action="#
{projectTestManagementMB.saveDescription}" >
<f:setPropertyActionListener target="#
{projectTestManagementMB.selectedNodeDescription}" value="#
{projectTestManagementMB.selectedFamily.description}" />
</p:commandButton>