无法调用复合组件的操作

时间:2014-03-11 18:32:32

标签: jsf jsf-2 facelets composite-component

尝试调用复合组件的动作时遇到问题。

我有一个定义了这个属性的复合组件:

<composite:attribute name="action"  
     method-signature="java.lang.String action()" required="false"/>
<composite:attribute name="render" type="java.lang.String" required="false"/>

然后我在复合实现中有这个:

<a4j:commandButton  value="Guardar" id="btnGuardar1"   
       render="#{cc.attrs.render}" action="#{cc.attrs.action}"/>

在我的页面中,我称之为:

<viewweb:popUpBusqResponsables render="primCons" 
       action="#{consultaBean.actionGuardarSeleccionResponsable}"/>

但每当我尝试调用该操作时,它都会给我以下错误:

  

ErrorPageWrit E发生异常

                          javax.faces.FacesException: javax.el.ELException: 
     

// C:/ abc / Workspaces /.../ popUpBusqResponsables.xhtml第47行和第40列action =“#{cc.attrs.action}”:无法转换/ pages / consultas / consultas。 xhtml在第143行和第63列action =“#{consultaBean.actionGuardarSeleccionResponsable}”:类型为org.apache.myfaces.view.facelets.el的ValueExpression [#{consultaBean.actionGuardarSeleccionResponsable}] TagValueExpressionUEL 类javax.el。 MethodExpression       at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)       ...... ..。

有什么想法吗?

我正在使用MyFaces 2.0.19 || websphere 8.0 || Richfaces 4.2.3

1 个答案:

答案 0 :(得分:1)

我已将该属性重命名为“动作”以外的其他内容并且有效...我猜“动作”是一个保留字