[RESOLVIDO] Duvida JSF List no outputText

6 respostas
R
Estou trabalhando no desenvolvimento de um software onde há a necessidade de mostrar as categorias de um site num outputText
<rich:column>
	    	        <f:facet name="header">Categorias</f:facet>
	    		<h:outputText value = "#{siteMB.nomeCategorias}" id = "categoriasSite"/> 
                   </rich:column>
Uso a variavel categoriasSite no managed bean. No metodo getNomeCategorias, que é chamado no xhtml, eu faço o seguinte:
public String getNomeCategorias() 
	{	
		setNomeCategorias(" ");
		
		for (Categoria categoria : site.getCategorias())
		{
			setNomeCategorias(" " + categoria.getNome());
		}
		
		return nomeCategorias;
	}

Consigo cadastrar um site com uma categoria tranquilamente, e exibi-lo por meio do codigo acima, como quando cadastro o site FaceBook relacionado com a categoria rede social. O problema aparece na hora de cadastrar um novo site. Se eu cadastro o site guj.com.br com a categoria Forum, o que acontece é na hora de exibir os sites e as categorias relacionadas, todos os sites previamente cadastrados aparecem com a categoria Forum. Estou meio enferrujado entao pode ser qualquer coisa, muito provavelmente um erro no metodo getNomeCategorias().

Aguardo resposta... obrigado amigos. PFVR ME AJUDEM

6 Respostas

O

esse seu metodo está sempre retornando a ultima categoria certo ?

o que voce precisa fazer é retornar uma list de categorias

public List<String> getNomeCategorias()   
    {    
        List<String> lscategoria = new ArrayList<String>(); 
        lscategoria.clear(); 
          
        for (Categoria categoria : site.getCategorias())  
        {  
            lscategoria.add(categoria.getNome());  
        }  
          
        return lscategoria;  
    }

é isto ?

R
Na verdade é isso mesmo,  que o problema é que eu nao sei exibir a lista de categorias no xhtml... o que eu pensei em fazer foi criar essa variavel num metodo que pegasse todos os nomes das categorias e que as armazenasse nessa string. O problema é que ela ta armazenando  a ultima... Tem alguma forma de mostrar a lista de categorias no xhtml? se houver vai da até pra tirar o metodo ali... valeu pela ajuda otOtavio :D se souber de algo mais que possa me ajudar... tipo mostrar a lista direto no xhtml...
O

vc quer listar em uma combo? tabela ?

se for em um combo eu faço assim:

xhtml:

<p:selectOneMenu id="estado" value="#{cidadeController.cidade.id_estado}" styleClass="texto" converter="#{cidadeController.converterEstado}"> <f:selectItem itemLabel="Selecione" itemDisabled="true"/> <f:selectItems value="#{cidadeController.estado}"/> </p:selectOneMenu>

value: recebe o valor que está para minha cidade X
converter: pega a id do estádo que selecionei para converter em objeto
e o selectItem: que lista os meus estados.

MB:

public List<SelectItem> getEstado() { List<SelectItem> listaEstado = new ArrayList<SelectItem>(); for (Estado object : this.estadoDao.findAll()) { listaEstado.add(new SelectItem(object, object.getNome_estado() + " - " + object.getSigla_estado())); } return listaEstado; }

o selectItem é do import javax.faces.model.SelectItem;

R

renato_the_grey:
Estou trabalhando no desenvolvimento de um software onde há a necessidade de mostrar as categorias de um site num outputText
<rich:column> <f:facet name="header">Categorias</f:facet> <h:outputText value = "#{siteMB.nomeCategorias}" id = "categoriasSite"/> </rich:column>

vc está trabalhando com richfaces 3.3.3?

podes usar um dataList http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.jsf para listar as categorias de um site.

<rich:dataList var="categoria" value="#{siteMB.site.categorias}">
       <h:outputText value="#{categoria.nome}" />
</rich:dataList>
R

rock:
renato_the_grey:
Estou trabalhando no desenvolvimento de um software onde há a necessidade de mostrar as categorias de um site num outputText
<rich:column> <f:facet name="header">Categorias</f:facet> <h:outputText value = "#{siteMB.nomeCategorias}" id = "categoriasSite"/> </rich:column>

vc está trabalhando com richfaces 3.3.3?

podes usar um dataList http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.jsf para listar as categorias de um site.

<rich:dataList var="categoria" value="#{siteMB.site.categorias}"> <h:outputText value="#{categoria.nome}" /> </rich:dataList>

aeeeeeee era isso mesmo… valeu rock, me salvou. valeu ao otOtavio aew pela ajuda tambem

R

ae! legal!! bom saber que conseguiu e melhor poder ter ajudado :smiley: :smiley:
:thumbup:

Criado 19 de setembro de 2012
Ultima resposta 20 de set. de 2012
Respostas 6
Participantes 3