以编程方式将p:resetInput(标记处理程序)添加到p:commandButton

时间:2013-07-02 11:31:44

标签: java jsf jsf-2 primefaces

您如何以编程方式p:resetInput添加到p:commandButton

    <p:commandButton ...>
        ...
        <p:resetInput target=":edit-form" />
    </p:commandButton>

我打赌班级是org.primefaces.component.resetinput.ResetInputTagHandler 但是,如何将标签处理程序添加到p:commandButton? (这是正确的课吗?)

    CommandButton button = new CommandButton();
    ...
    button.getChildren().add( new ResetInputTagHandler( ... ) );
  1. 添加时标记处理程序必须去哪里?
  2. 构造函数参数javax.faces.view.facelets.TagConfig是什么,你从哪里得到它?
  3. (一切都假设我选择了正确的课程)

    由于

1 个答案:

答案 0 :(得分:1)

看起来我设法通过以下方式实现了这一目标:

    CommandButton button = new CommandButton();
    button.setId( "status-change" ); // must have, otherwise no action listeners called!
    button.setIcon( "ui-icon ui-icon-flag" );
    button.setProcess( "@this" );
    button.setUpdate( ":content-form:request-panel :filter-form" );

    ValueExpression valueExpression;

    // some action listener added...

    // programmatically add p:resetInput
    valueExpression = factory.createValueExpression( elContext, ":content-form:request-subpanel", String.class );
    button.addActionListener( new ResetInputActionListener( valueExpression ) );

HTH任何人