Estou tentando fazer uma coisa muito simples. Mas não estou conseguindo. Utilizar uma <h:datatable(ou t:datalist)> que contenha uma lista que contem o “String name” e o “String action” que são passados para o componente <h:commandLink>. Segue o código:
Ele imprime perfeitamente os commandLinks com o nome (inclusive se eu colocar o action como nome ele tb imprime perfeitamente), porém quando clico no link da a exceção:
javax.servlet.ServletException: Error calling action method of component with id
não sei mais o que fazer, já procurei no google e dizem até que é bug, mas já testei com myfaces 1.1.1 e 1.1.3 (que é a última versão). Se alguém já conseguiu fazer isso funcionar por favor me de uma mão. Por que é inviável que uma coisa tão simples dessa não funcione.
o probleá é que no JSF não da pra fazer isto: <h:commandLink id=“link” action="#{iterator.action}">
por que #{iterator.action} quer dizer para ele procurar um bean com o nome iterator e executar o metodo action dele.
bbmoura
não … ele procura o bean correto … que ele recebe da lista do datatable … tanto que na exceção dá:
ou seja … ele ateh acha a classe que contém o método que devolveria a String com a ‘action’, mas mesmo assim não funciona …
Mas se não der mesmo para fazer isso da maneira que estou fazendo, como eu faço no JSF para ter um datatable de links que sejam dinâmicos??
obrigado
bom, com datatable eu nunca fiz isto, mas o tomahawk tem componentes prontos pra isto
da uma olhadinha: http://myfaces.apache.org
bbmoura
já tentei atualizar o myfaces p 1.1.3 e utilizar componentes do Tomahawk como t:dataList / t:datatable / t:commandLink … mas tds dao o mesmo erro …
isso é bastante fustrante, pois o JSF se mostra um excelente framework p desenvolvimento web, porém não poderia apresentar esses error para coisas tão simples … obrigado pelas resposta … se alguém tiver mais alguma idéia eu agradeço
urubatan
bbmoura:
já tentei atualizar o myfaces p 1.1.3 e utilizar componentes do Tomahawk como t:dataList / t:datatable / t:commandLink … mas tds dao o mesmo erro …
isso é bastante fustrante, pois o JSF se mostra um excelente framework p desenvolvimento web, porém não poderia apresentar esses error para coisas tão simples … obrigado pelas resposta … se alguém tiver mais alguma idéia eu agradeço
eu falei apra usar componentes proprios para isto, como o panelNavigation
bbmoura
o problema é que o panelNavigation só aceita <t:commandNavigation> e eu preciso passar uma list (util.List) … dai não me adianta … agradeço as tuas respostas … mas ainda não sei oq fazer
urubatan
se tu quer algum dia ser um programador de verdade, tu vai ter que aprender a olhar a porcaria da documentação com atenção
obrigado pela parte que me toca (apesar de achar que mereci hehe), é q eu tinha olhado apenas o panelNavigation… não tinha visto o panelnavigation2 … acho que agora vou poder gambiarrar com este componente … apesar de achar que é uma falha mt grande uma dataTable não aceitar links dinâmicos … valeu pela atenção …