commandLink não funciona com dataTable

3 respostas
E

Estou tendo um problema.
Se coloco um commandLink fora de um dataTable, ele dá o action direitinho, mas qdo coloco dentro do dataTable, ele apenas dá um refresh na mesma página.
Pq está acontecendo isso ?

<h:dataTable value="#{delegacias.lista}" var="item" columnClasses="text" rowClasses="cinza,branco" headerClass="amarelo">
		             <h:column>
		             	<f:facet name="header">
		             		<h:outputText value="Excluir"/>
		             	</f:facet>
						<h:selectBooleanCheckbox value="#{item.id}"/>
		             </h:column>
		             <h:column>
						<f:facet name="header"> 
			            	<h:outputText value="Delegacia" />
			            </f:facet>
		            	<h:commandLink action="alterar" value="#{item.nome}" immediate="true">
				            	<f:param value="#{item.id}" name="id"/>
			            </h:commandLink>
			         </h:column>
			         
	            </h:dataTable>

3 Respostas

marcelohonsa

Conseguiu resolver o problema?

E

Então, percebí que é um problema aqui da nossa rede.
Pq eu coloquei uma base de dados na minha casa e fiz exatamente igual como estava fazendo, só mudando a url de conexão e funcionou bem.
Então esse problema que acontece aqui de login failure for login ‘teste’, deve ser algum bloqueio de firewall ou de SQL. Acho mais q deve ser SQL pois no stack trace aparece exeção de SQL
Se tiver alguma ideia do que pode ser…

Obrigado

jonataswingeter

Olá.

Na verdade, este não é um problema com conexão.
Acontece que, dependendo da implementação que você usa, o componente possui um comportameto anormal.
A implementação do myfaces <t:commandLink> só funciona corretamente se sua página não precisa postar mais de um request por vez, ou seja, um botão “pesquisa” e outro para selecionar algum resultado da pesquisa.
Se existir mais de uma sequência no processo da sua página, o ideal é colocar o managedBean na sessão, e desta forma, a “mágica” vai acontecer.
Note que isso não é a melhor solução, visto que o componente deve ser corrigido.

No entanto, existe outro problema no MyFaces quando o root de seu JSP é <t:document> e adendos. Neste caso, é necessário substituir por normal.

Att.

Criado 22 de setembro de 2006
Ultima resposta 1 de fev. de 2007
Respostas 3
Participantes 3