Problema com o componente DataTable de JSF com Apache Tomcat

9 respostas
E

Olá galera!!

Estou com um problema que já me custou muitas horas de pesquisa, sem nenhum resultado que resolvesse o problema. visto que é uma problema que muita gente vem enfrentado, conto com o paio da comunidade para devendar o que está ocorrendo de errado.

Configuração:
jdk1.6.0_04
apache-tomcat-6.0.13
jsf-1.2-b20-FCS (jsf-api.jar, jsf-impl.jar)
jstl.jar

Problema:
Ocorre na utilização do componente “dataTable” de JSF, rodando sobre o Tomcat 6. A aplicação é bem simples e faz apenas a apresentação dos dados de uma lista atraves do componente dataTable. Só que acontece um erro na hora de executar a aplicação no browser.

O Erro:

An error occurred at line: 21 in the jsp file: /listar_linhas.jsp
The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)
18: <div id="content"><f:view>
19: 
20: 	<h:form>
21: 		<h:dataTable value="#{controller.listarProdutos}" var="produto">
22:			
23: 			<h:column id="column1">
24: 				<f:facet name="header">
25                                      <h:outputText value="nome"></h:outputText>
25                     	        </f:facet>
26                       <h:outputText value="#{produto.nome}" >          
27:                       </h:outputText>

Os arquivos faces-config.xml e web.xml segue em anexo caso queiram dar uma olhada.

Quanto ao Mannager Bean “controller” existe apenas uma metodo publico com a seguinte assinatura:

public List<Produto> getListarProdutos();

Galera eu já testei esse mesmo exemplo no glassfish e funciona perfeitamente. Só que pra ficar dando refresh o tempo todo em que eu estiver trabalhando no glassfish, não dá!

Fico muito agradecido pela ajuda de vcs.

9 Respostas

Javabuntu

cria no seu backing bean um ListDataModel… e retorne ele…

K

cara
eu tive este mesmo problema
é um inconpatibilidade entre o tomcat 6 e o jsf 1.2
eu resolvi o meu trocando o jsf 1.2 para 1.1

uma outra coisa que vc pode fazer é, usar o datatable de outros frameworks
acho que o tomahank tem

mas se vc puder utilizar o jsf 1.1 o problema esta resolvido

tem ate um post meu a 1 mes atras, qualquer coisa da uma olhada nele
http://www.guj.com.br/posts/list/85899.java

qualquer coisa…da um grito ai
falow
T+

K

cara

fiz uns teste aqui
vc pode usar richfaces ou o TomaHawk?
fiz o seguinte no caso do richfaces

eu uso o seguinte dataTable

<h:dataTable value="#{pessoaFisicaMB.pessoaFisicaDB.listaPorParametro}" id="tabela" var="pessoa" border="0"  rowClasses="TbltrTrue,TbltrFalse" width="750">
				
	<h:column>
		<f:facet name="header">
			<h:outputText value="Código" /> 
		</f:facet>
		<h:outputText value="#{pessoa.id}"/>
	</h:column>
...
</h:dataTable>

apenas mudei o “h” pelo “rich”

<rich:dataTable value="#{pessoaFisicaMB.pessoaFisicaDB.listaPorParametro}" id="tabela" var="pessoa" border="0"  rowClasses="TbltrTrue,TbltrFalse" width="750">
....
</rich:dataTable>

e coloquei o jsf 1.2 e funcionou direitinho com o TomCat 6.XXX

se vc puder, faz os teste ai e veja se funciona

nao testei como TomaHawk, mas deve funcionar tb

nao é um trampo tao grande de mudanca eu acho, apenas mudar o “h” pelo “rich”

veja se isso lhe ajuda

T+
abs

E

Javabuntu,

fiz a modificação que me aconselhou, utilizando o tipo DataModel
e continuo com o mesmo erro. Vc tem um exmplo real funcional
que possa posta. Olha se tiver disposição de tempp pediria
para que criasse exemplinho com todas as libs e postasse em um
repositorio svn. ex: www.assembla.com, ou www.code.google.com

Agora Krusst, quanto a sua primeira dica de mudar para a
implementação 1.1 de jsf. É inviavél para meu projeto.
pq fiz as trocas das libs o meu projeto se quer executou.
Agora vou tentar fazer a utilização do Tomahawk ou RichFaces.
Assim que eu realizar a modificações posto o resultado.

A tempos valeu pela colaboração.

E

Krusst,

Cara testei com o tomahwak1.1.6 e myfaces-1.2 e não funciona. Se quer
executa meu projeto. Agora quando tomahwak1.1.5 e myfaces-1.1 ai
tudo funciona. Testei tbm com o richfaces e não funcionou tbm nao.
Estou de mãos atadas com esse meu problema pq simplesmente
é muito despendioso realizar todas as modificações do meu projeto
para que ele fique em conformidadecom a java 1.4.
Como vc nos teste que vc fez com o richfaces? Qual versão vc utilizou
do richfaces e qual a versão do jsf?

vc sabe de alguma boa referencia que fale sobre a integração entre
bibliotecas de componentes com diferentes implementadores da
especificação JSF?

Valeu Krusst.

K

bem, posso te mandar as minhas libs, e vc ve o que acontece ai(nao vou te prometer, porem, vou tentar te mandar o datatable pronto, pois estou com 2 sistemas pra montar), mas vou te falar uma coisa antes

cara, eu tive um problema no fim de semana em casa, apanhei que nem um condenado
faço meus trampos e os servicos por fora, e acabo mesclando os dois, porem, em casa nao rodava nem a pau, hj, qdo cheguei no trampo e fui rodar pra ver se conseguia fazer funcionar, funcionou na primeira, nem alterei codigo(detalhe, minha IDE+Libs+TomCat no pendrive! entao, tudo igual).

agora, o por que do erro, sinceramente, nao sei.
tenho perdido muito tempo com os frameworks pra faze-los funcionar.
essas incompatibilidades que eles tem apresentado, como no JSF 1.2 com o TomCat 6.X me irritam muito.

bem, sobre as versoes, todas essas libs foram necessarias pra eu fazer rodar

commons-beanutils.jar (versao 1.7.0)
commons-collections-3.2.1.jar
commons-digester-1.8.jar
commons-logging-1.1.1.jar
jsf-api.jar (versao jsf 1.2)
jsf-impl.jar (versao jsf 1.2)
jstl.jar (essa eu nao sei, peguei de um exemplo na net)
richfaces-api-3.2.0.SR1.jar
richfaces-impl-3.2.0.SR1.jar
richfaces-ui-3.2.0.SR1.jar

Server
TomCat 6.14

uma coisa que li sobre esse bug é, ele nao ocorre no servidor GlassFish

se vc puder, isso pode te ajudar(bem, é essa parte que me irrita, vc ter que ficar pulando de tecnologias pra ver a bagaça funcionar)

se tu quizer as libs, te mandei MP pra vc com o meu email , me manda email ou adiciona no MSN que eu te passo elas

abs
T+ cara

K

dei uma enchutada no codigo e fiz um datatable fucional aqui
qualquer coisa me procura que te passo o “projeto complero”

abs
T+

E

Beleza krustss,

Coloquei as libs aqui numa boa e agora tudo funcionou sem problema.
Tbm faço uns sistemas por fora e é um absurdo o tempo que gasto
para depurar um “errinho” de merda desse. Isso é um pesadelo na hora
de escolher uma fremework web para trabalhar, todos me parecem um
lixo quanto a portabilidade entre versões, mas a coisa fica pior sem eles,
infelizmente.

Aqui de tanto eu apanhar com a configuração de um ambiente redondo
para o desenvolvimento de sistemas web, sempre sigo um projeto
open source q trata especificamente dessa gerência de configuração.
caso necessite de algo parecido, vai o link ai.

http://kyrios.sourceforge.net/

Valeu krutss !!
Qualquer dúvida que eu possa dar uma força pode entrar encontato

K

eliazarcs:
Beleza krustss,

Coloquei as libs aqui numa boa e agora tudo funcionou sem problema.
Tbm faço uns sistemas por fora e é um absurdo o tempo que gasto
para depurar um “errinho” de merda desse. Isso é um pesadelo na hora
de escolher uma fremework web para trabalhar, todos me parecem um
lixo quanto a portabilidade entre versões, mas a coisa fica pior sem eles,
infelizmente.

Aqui de tanto eu apanhar com a configuração de um ambiente redondo
para o desenvolvimento de sistemas web, sempre sigo um projeto
open source q trata especificamente dessa gerência de configuração.
caso necessite de algo parecido, vai o link ai.

http://kyrios.sourceforge.net/

Valeu krutss !!
Qualquer dúvida que eu possa dar uma força pode entrar encontato

nessa parte de sofrimento, o que me “consola” é que nao sou o unico
vou dar uma olhada nesse site…
e qualquer coisa…da um frito ai

abs
T+

Criado 25 de abril de 2008
Ultima resposta 30 de abr. de 2008
Respostas 9
Participantes 3