Como capturar parâmetro no jsf

4 respostas
C

Olá pessoal!

Estou usando jsf+facelets+tomahawk + um monte de frameworks.

Meu problema é o seguinte:

Trago uma lista e exibo ela no xhtml. Essa lista é um datatable.

O problema é que preciso pegar a linha para alterar dados dessa lista! Agora o problema, como alterar a linha especificamente?

Segue a coluna do datatable que preciso pegar o valor:

<t:dataTable width="600" id="listEquip" rows="15" border="1"
                    value="#{listaEquipamentosBean.lista}" var="lista" columnClasses="listaColunas"
                    styleClass="tab">

                    <t:column headerstyleClass="titTabela" sortable="true"
                      onmouseover="this.style.backgroundColor='#A6CBF0'"
                      onmouseout="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
                      <f:facet name="header">
                         <h:outputText styleClass="titTabela" value="#{msg.equipamento}" />
                      </f:facet>
                      <h:outputText id="equipamento" value="#{lista.equipamento}" />
                    </t:column>

No bean

FacesContext ctx = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) ctx.getExternalContext().getRequest();
String equipamento = req.getParameter("equipamento");

Só que a string equipamento é sempre null…

Algúem tem uma idéia de como eu capturar o valor dessa coluna?

4 Respostas

marcioa1

Você tem que definir o parametro, algo como :

Marcio

humberto.lima

opa cara… acho melhor você usar uma dataModel no lugar da lista(listaEquipamentosBean.lista)

...
getLista(){
 return new ListDataModel(tuaLista);
}
...

e na hora de recuperar existe um metodo no dataModel: getRowData() , que ja te retorna o objeto selecionado.

obs: vacilei, se fizer assim vc nao terá uma instancia do dataModel pra chamar o getRowData(). Vc tem q criar um atributo do bean do tipo dataModel mesmo…

[]´s

Humberto Lima

robson_vs

Cara vc pode usar o parametro como o nosso amigo indicou ou usar o DataModel q é uma solução melhor no meu ponte de vista.

C

Problema resolvido.

O datatable também tem getRowData().

Falow! 8)

Criado 23 de abril de 2008
Ultima resposta 23 de abr. de 2008
Respostas 4
Participantes 4