0

我是接缝和富人的新手。我想通过提供托管 Bean 来隐藏/显示 a4joutputpanel,方法是通过 render="" "true/false" 参数。但我正在接受这个例外:

com.sun.facelets.tag.TagAttributeException:/testscreen.xhtml action="#{testBean.renderActive(true)}" 不是有效的方法表达式:#{testBean.renderActive(true) }

任何人都可以帮助我吗?

这是我的 xhtml 和 managedbean 代码:

<a4j:commandButton action="#{testBean.renderActive(true)}" reRender="MyPanel" value="Start" />

<a4j:outputPanel id="MyPanel">
<s:div rendered="#{testBean.renderProperty}">
........
</s:div>
</a4j:outputPanel>

托管豆

public void renderActive(Boolean rendeBoolean){
this.renderProperty=rendeBoolean; }

private Boolean renderProperty;

public Boolean getRenderProperty() {
return renderProperty;
}

public void setRenderProperty(Boolean renderProperty) {
this.renderProperty = renderProperty;
}
4

1 回答 1

0

#{testBean.renderActive(true)}实际上在普通的 JSF EL 中不是一个有效的方法表达式,因为方法表达式不能有参数。

不过,它适用于 jboss-el.jar 提供的 EL 扩展。

检查此 jar 是否存在于应用程序类路径中,即在 EAR 中或在 WEB-INF/lib 中,如果您不将应用程序打包为 war。(请参阅参考文档中的第30.3.1 节包装)。

于 2011-03-30T08:42:44.937 回答