JSF - h:commandLink

Boa tarde pessoal do GUJ…
Estou com um problema com <h:commandLink> dentro deu um <h:dataTable>
Quando eu tiro o <h:commandLink> fora do data Table ele vai para o Bean… mais quando coloco dentro ele nem chama o Bean…
O que estou fazendo de errado.
estou utilizando a versão do JSF 1.0 da Sun.

Obrigado pela atenção.
:smiley:

o que vc quer fazer com o commandLink?

Boa tarde Fábio…
Então cara eu tenho uma lista e quero clicar no nome do usuário e poder fazer a edição do cara.
:slight_smile:

Um command link só pode ser utilizado para chamar um método em um Managed Bean e não em outros objetos quaisquer.

Neste caso como devo proceder???
:oops:

opa, estou tendo problemas com o commandLink tb, se uso um commandButton para a memas finalidade funciona tranquilo mas se coloco um commandLink é retornado um erro para mim.

&lt;h:commandLink action="#{nivelTipoBean.listaTodosTipos}"&gt;Listar tipos&lt;/h:commandLink&gt;

o erro retornado é:

“org.apache.jasper.JasperException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: null”

estou querendo o link apenas por questão visual mesmo…
bom é isso!

Bom dia pessoal…
Estou com o problema ainda…
Gostaria de uma solução…

Valeu pela atenção…

fui.

opa, bom o erro q eu tinha relatado ali em cima eu consegui tirar, estava acontecendo apenas pq eu havia esquecido de colocar o commandLink dentro de uma tag <h:form>.
mas o problema agora é que o link não funciona, eles está lá, mas quando eu clico não acontece nada…
alguém ae podia ajudar no uso dessa tag <h:commandLink>?
agradeço!! =)

Na verdade eu fiz algumas alterações e mudei para algo assim!

menu.jsp

&lt;h:form&gt;
	&lt;h:commandLink action="#{nivelTipoBean.acao}" 
	value="Lista Tipos"&gt;&lt;h:commandLink&gt;
&lt;/h:form&gt;

eu so mudei o nome para acao…

NivelTipoBean.java

public class NivelTipoBean {	
	private ArrayList tipos;	
	
	public ArrayList getTipos() {
		return tipos;
	}
	
	public void setTipos(ArrayList tipos) {
		this.tipos = tipos;
	}
	
	/** Ação que "linka" à página admNivel-crud.jsp, além de 
	 * listar os tipo existentes no banco de dados. */
	public String acao() {
		NivelTipoDAO nt = new NivelTipoDAOImpl();
		setTipos((ArrayList) nt.getAll());
		return "admNivel-crud";
	}	
}

Eu tirei as partes irrelevantes do código…
É isso =)

:?:

Verifique se o conteudo do datatable esta dentro de um <h:column> da vida.
tipo:

<h:datatable>
<h:column>
<%-- conteudo --%>
</h:column>
</h:datatable>

acho que isso pode resolver seu problema.

bom, dentro de um h:column está… se eu uso um commandbutton a ação funciona, só no cmmandLink eh que da pau!

to insistindo nesse post hehehe…
bom o grande problema eh que quando clico no link que eu quero ele nao realiza a ação, alguem sabe qual eh o problema, poderiam postar um exemplo de uso?

&lt;h:form&gt;
	&lt;h:panelGrid columns="1"&gt;
		&lt;h:column&gt;
			&lt;h:commandButton action="#{nivelTipoBean.acao}" styleClass="botao"
				value="Tipos de Nível de Descrição" /&gt;
			&lt;h:commandButton action="#{idiomaBean.acao}" styleClass="botao" 
				value="Idiomas" /&gt;
			&lt;h:commandButton action="#{nivelDescricaoBean.acao}" styleClass="botao" 
				value="Cadastrar Nível ou Item" /&gt;
			&lt;h:commandLink action="#{idiomaBean.acao}"&gt;
				&lt;h:outputText value="Teste de idioma" /&gt;
			&lt;/h:commandLink&gt;
		&lt;/h:column&gt;			
	&lt;/h:panelGrid&gt;
&lt;/h:form&gt;

todos os commandButtons funcionam, menos o commandLink e reparem que o comande link faz a mesmas coisa que o segundo commandButton.
alguem saberia me ajudar?

:?:
Ainda sem funcionar… =(
Já estou até pensando em desistir de usar commandLink!!!

COVEIRO… 8) 8) 8) :roll:

Pergunta:
Como eu faço tabelas no JSF ??

[code]

[/code]

Tente fazer assim

&lt;t:commandLink action="#{Bean.carregar}" title="#{properties['lb_editar']}" id="editar" immediate="true" onclick="setAcao(document.forms[0], 'Carrega_Usuario');"&gt;
  &lt;t:updateActionListener property="#{Bean.obj.codigo}"  value="#{obj.codigo}" /&gt;
  &lt;t:graphicImage align="center" value="/nucleo/images/editar.gif" border="0"/&gt;	
&lt;/t:commandLink&gt;

Olá.

Esse é um velho problema do JSF.
Você está usando a implementação MyFaces ? Se for, atualize para 1.1.5, acho que o bug foi resolvido.

Caso contrário, troque o escopo do seu managed bean de Request para Session, e deve funcionar.

Caso não funcione ainda, coloque um <h:messages /> no início de sua página para descobrir se existe erro de validação.

Att.

[quote=afamorim]Tente fazer assim

&lt;t:commandLink action="#{Bean.carregar}" title="#{properties['lb_editar']}" id="editar" immediate="true" onclick="setAcao(document.forms[0], 'Carrega_Usuario');"&gt; &lt;t:updateActionListener property="#{Bean.obj.codigo}" value="#{obj.codigo}" /&gt; &lt;t:graphicImage align="center" value="/nucleo/images/editar.gif" border="0"/&gt; &lt;/t:commandLink&gt; [/quote]

afamorim,

Achei bem interessante seu snippet. Poderia comentar as tags ?
E como eh essa EL que está usando ( #{properties[‘lb_editar’]} ) ??

Agradeço pela Atenção.

Pessoal, existe um gun conhecido com commandLinks dentro de datatable na implementação da SUN 1.0 e se não me engano na 1.1 também… Me corrijam se estive errado sobre a versão. Abs

[quote=afamorim]Tente fazer assim

&lt;t:commandLink action="#{Bean.carregar}" title="#{properties['lb_editar']}" id="editar" immediate="true" onclick="setAcao(document.forms[0], 'Carrega_Usuario');"&gt; &lt;t:updateActionListener property="#{Bean.obj.codigo}" value="#{obj.codigo}" /&gt; &lt;t:graphicImage align="center" value="/nucleo/images/editar.gif" border="0"/&gt; &lt;/t:commandLink&gt; [/quote]

afamorim,

Achei bem interessante seu snippet. Poderia comentar as tags ?
E como eh essa EL que está usando ( #{properties[‘lb_editar’]} ) ??

Agradeço pela Atenção.