webMethods:根据支持bean的属性值显示/隐藏caf_h:panelBlock

时间:2018-03-01 07:17:54

标签: webmethods webmethods-caf

我们在CAF portlet中有两个caf_h:panelBlock元素(id="panel1"id="panel2"),这些元素应该根据辅助bean的属性(rendered="#{ViewBean.property}"和{{4}}进行渲染{1}})。

所以这样一个面板的XHTML锁定如下:

rendered="#{not ViewBean.property}"

支持bean的属性声明如下:

<caf_h:panelBlock id="panel1" rendered="#{ViewBean.property}">
    content
</caf_h:panelBlock>

并在bean的Initialize()方法中初始化:

private java.lang.Boolean property;

现在出现了棘手的部分:我们想通过点击命令链接显示/隐藏这些面板:

public String initialize() {
    this.property = true;
}

此命令链接调用的bean方法反过来更改属性的值:

<caf_h:commandLink action="#{ViewBean.click}" id="commandLink"></caf_h:commandLink>

但是,块面板的可见性/渲染完全不受影响。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

事实证明,如果稍后在portlet生命周期中没有再次更改ViewBean.property,上述方法可以正常工作 - 正如我们在beforeRenderResponse()方法中的意外情况那样。