[RESOLVIDO]Passar parametros da pagina jsp para dentro de um modalPanel

4 respostas
rapha.java

Bom dia a todos, tenho uma duvida referente ao a4j:commandLink dentro do datatable. Seguinte na minha pagina jsp tem um rich:datatable que esta sendo populado manualmente (não estou usando o BD) e a cada linha gerada é um a4j:commandlink que ao ser clicado abre um modalPanel para poder modificar o nome por exemplo, mas como faco para que quando o link for clicado ele passe o id(indice da posicao que foi clicado)??? :?: :?: :?:

Segue o meu metodo cadastrar:
public void cadastraJustificativa() {
		JustificativaMB novo = new JustificativaMB();
		novo.setDescricao(getDescJustificativa());
		novo.setStatus("Inativo");
		novo.setId(listaJustificativa.indexOf(novo));
		listaJustificativa.add(novo);
		System.out.println("Você salvou " + getDescJustificativa());
		System.out.println(listaJustificativa.indexOf(novo));
	}
Até ai tudo beim ele grava a descricao, status e o id da propria lista, mas esse link quando for clicado como passo o id da LINHA CLICADA ? Tentei assim: Quando faco manualmente ele funciona, mas pode clicar em qualquer linha q ele altera a posicao 1
public String alterarJustificativa() {

		for (JustificativaMB obj : listaJustificativa) {
			int posicao = listaJustificativa.indexOf(obj);

			if (posicao == 1) { //aqui deveria comparar o id da lista
				JustificativaMB objAux = obj;
				obj.setDescricao("TEXTO MODIFICADO");
				obj.setStatus("Ativo");
				listaJustificativa.remove(objAux);
				listaJustificativa.add(posicao, obj);
				break;
			}
Alguém pode me ajudar por favor ? Obrigado

4 Respostas

kiko_lp_St_jimmy

Você ja tentou passar o id via JS?

rapha.java

Não deu certo, eu quero que quando clicar no link ele manda o id desta linha para uma funcao dentro do modalpanel !

M

Você pode usar o atributo rowKeyVar que representa o indice da linha do dataTable e enviar este parametro no a4j:commandLink.

Exemplo :
<rich:dataTable rowKeyVar="rowKeyVar" > 
<a4j:commandButton">
	<f:param name="index" value="#{rowKeyVar}"/>
</a4j:commandButton>
</rich:dataTable>

Depois é so recuperar do request o index.

rapha.java

Consegui resolver eu so precisava usar o RowKeyVar e o f:setPropertyActionListener:

<h:commandLink value="Adiar sessão" action="#{SessaoMB.adiarSessao}" rendered="#{sessao.adiamentoSessao}"> <f:setPropertyActionListener target="#{SessaoMB.sessao}" value="#{sessao}"/> </h:commandLink>

Criado 6 de setembro de 2011
Ultima resposta 6 de set. de 2011
Respostas 4
Participantes 3