Jsf 2.0从视图中动态删除组件

时间:2011-08-17 11:07:18

标签: java jsf-2

我正在尝试使用PreRenderViewEvent替换视图中的组件,但它不起作用。被替换的组件仍然呈现。

这是我正在使用的代码

    CommandButton toRender = ( CommandButton ) ctx.getApplication().
            createComponent(
            "org.primefaces.component.CommandButton" );
    toRender.setAjax( false );
    toRender.setLabel( "View" );
    toRender.getAttributes().put( "TargetState", State.table );
    toRender.setValue( State.table );
    if ( getToRender() != null )
    {
        getChildren().remove( getToRender() );
        getToRender().setParent( null );
    }
    getChildren().add( toRender );
    setToRender( toRender );

,这是当前组件的getter和setter

public UIComponent getToRender()
{
    return ( UIComponent ) getStateHelper().eval( PropertyKeys.toRender,
            null );
}

public void setToRender( UIComponent toRender )
{
    getStateHelper().put( PropertyKeys.toRender, toRender );
    handleAttribute( "toRender", toRender );
}

我是如何实现这一目标的?

0 个答案:

没有答案