Immediate ="true"导致update ="component"失败

Ste*_*veS 9 primefaces jsf-2

我有一个命令按钮(特定的取消按钮),我想绕过页面上某些组件的验证.当我在命令按钮上设置了immediate ="true"时,更新属性不起作用.通过"不工作"我的意思是:centerForm:p_definition上的值不会重置为它们应该是什么.如果我从下拉列表中选择一个项目或将数据输入到输入文本中,则单击取消时该信息将消失.设置immediate ="false"或完全关闭它会按预期重置字段.这是我遇到问题的命令按钮的定义.

<p:commandButton value="Cancel" style="float: right;"
    immediate="true"
    actionListener="#{manageBomPropHandler.doCancel()}"
    update=":centerForm:p_definition"/>
Run Code Online (Sandbox Code Playgroud)

这是立即="真"的预期行为吗?如果是这样,你如何解决这个取消按钮?

Ken*_*ock 10

将在Update Model Value阶段调用/执行"Update".将"立即"属性设置为按钮命令时,将忽略此阶段.有关详细信息,请参见下图. 标准生命周期执行更新模型值阶段

          P1: Standard Lifecycle executes Update Model Values phase
Run Code Online (Sandbox Code Playgroud)

立即生命周期忽略更新模型值阶段

          P2: Immediate Lifecycle ignored Update Model Values phase
Run Code Online (Sandbox Code Playgroud)

  • 很好的生命周期视觉图.如果你的,工作很好,做得很好.如果不是你的,请添加归属地? (3认同)
  • 资料来源:http://www.javacodegeeks.com/2012/01/jsf-and-immediate-attribute-command.html (3认同)