setPropertyActionListener未传递正确的值

时间:2012-09-30 09:14:33

标签: jsf

我有一个编辑器组件,显示所选系列(来自树)描述

所以在编辑完之后,用户点击那里的保存按钮我想用这个

 <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>  

1 个答案:

答案 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>