Exibir um list<String> na página

9 respostas
J

Pessoal, tenho o seguinte código

public List<HistoricoAtendimento> listarInformacoes(Solicitacao solicitacao){
		ArrayList<String> lista = new ArrayList<String>();
		Criterion filtro = Restrictions.eq("protocolo", solicitacao.getProtocolo());
		Criteria criteria = session.createCriteria(HistoricoAtendimento.class);
		criteria.add(filtro);
		List<HistoricoAtendimento> resultado = criteria.list();
		
		return resultado;

Bean

private List<String> informacoes;
public void getListarInformacoes(){
		solicitacao = (Solicitacao) (this.listaSolicitacaoTratamento.getRowData());
		ArrayList<String> lista = new ArrayList<String>();
		List<HistoricoAtendimento> resultado =  dao.listarInformacoes(solicitacao);
		
		for(HistoricoAtendimento historico : resultado){
			lista.add(historico.getInformacao());
		}
		this.informacoes = lista;
	}
...getters e setters

Como faço para exibir o atributo informações na página .xhtml?

Estou tentando fazer da seguinte forma e não consigo

<p:column>
  <f:facet name="header">
	<h:outputText value="Exibir Informações"/>
	</f:facet>
	<p:commandButton value="Exibir" actionListenter="#{solicitacaoTratamentoBean.getListarInformacoes}"
	onclick="dialogInfo.show()"/>
</p:column>

<p:dataList widgetVar="dialogInfo" value="#{solicitacaoTratamentoBean.informacoes}" var="info" type="ordered" />

Estou fazendo algo de errado em algum dos códigos acima?

Obrigado.

9 Respostas

A

cara,

vc ja viu esse exemplo http://www.primefaces.org/showcase/ui/dataListOrdered.jsf ?

t+

J

Vi sim, mas não consegui fazer dessa forma.

A

cara,

ao invez de colocar onclick, tenta tirar ele e colocar update, para atualizar o id do seu componente p:datalist.

t+

J

alissonvla, se eu coloca o bean como request em vez de session, funciona?

A

esse conceito de request ou session, não vai influenciar no seu caso, essa situação vc vai ter que colocar de acordo com sua necessidade.

PS: como vc pode ter visto no exemplo no showcase do primefaces, vc nao precisa criar um lista de String para passar para esse componente, vc pode trabalhar com a lista de seu objeto.

t+

J

Sim sim, já estou fazendo desta forma. O único problema mesmo é quando clico no “commandButton” e dá um JavaNullException(Quando é request). Já no session, ele aceita, porém como fica na sessão, fica dando algumas incompatibilidades. Vou olhar, e caso resolver posto a resolução aqui.

Vlw.

A

cara,

isso deve ta ocorrendo devido a sua variavel solitação, como vc ta como request, vc deve ta perdendo essa informação. Entao vc vai ter que usar session msm, para nao perder essa informação.

t+

J

Sim, isso que ocorre, só que se eu deixar session, como eu tenho no datable muitas linhas, ao clicar em um botão da certo, quando clico no botão da outra linha, aparece a informação que está na sessão, e não a que está na linha, esse é o motivo de ainda não ter dado certo.

t++

A

cara,

é so vc usar a tag f:setPropertyActionListener no seu botão, que vai resolver seu problema.

t+

Criado 23 de outubro de 2011
Ultima resposta 24 de out. de 2011
Respostas 9
Participantes 2