Galera,
eu to criando um componente… Estou enfrentando dois problemas…
PROBLEMA 1: Executar método do managed bean que retorna uma Class minha…
Eis o attrbiute e a implementacao:
[code] <cc:attribute name=“queryOperationAsArrayForStrings”
method-signature=“br.com.sol7.olimpio.util.filter.QueryOperation[] q()” />
//onde eu uso:
<p:selectOneMenu id="oop" converter="queryOperationConverter"
value="#{data.operation}">
<f:selectItems value="#{cc.attrs.queryOperationAsArrayForStrings}" />
</p:selectOneMenu>
[/code]
ERRO
br.com.sol7.olimpio.util.filter.QueryOperation[] q() : Unable to load type 'br.com.sol7.olimpio.util.filter.QueryOperation[]'
PROBLEMA 2: Chamar um método do managedBean passando parametro pra ele do componente
então eu criei um atributo para passar o meu managedbean:
<cc:attribute name="controller" required="true"/>
Agora to tentando acessar o método forbidPermission() que recebe uma String como parametro…
<p:commandButton icon="ui-icon-circle-minus"
actionListener="#{cc.attrs.controller.forbidPermission(data.path)}"
update=":filterForm" disabled="#{data.default}" />
o “data.path” é um objeto do dynaForm…
onde eu tenho
<pe:dynaForm id="dynaForm" value="#{cc.attrs.dynaFormModel}" var="data">
ERRO:
//na verdade não sei pq nao conseguir arrumar o problema 1. Mas acho que vai dar pau. Além de ter algumas duvidas por exemplo:
//se eu receber o controller, como eu fiz ali, consigo acessar metodos dele diretamente?
//#{cc.attrs.controler.meuMetodoQualquer)?
//#{cc.attrs.controller.propriedadeX}
//onde propriedadeX => getPropriedadeX no Bean...