Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Facelets ::: Facelets UI Tag Library (Bibliotecas de Tags UI do Facelets) :::

Aprenda a usar a tag <ui:repeat> do Facelets em suas aplicações JSF

Quantidade de visualizações: 11022 vezes
A tag UI Repeat do Facelets é usada quando queremos percorrer todos os objetos de uma coleção e manipulá-los ou exibí-los um de cada vez. Em geral usamos esta tag em substituição ao controle <h:dataTable> do JavaServer Faces ou a tag <c:forEach> da JSTL (JSP Standard Tag Library).

A coleção de itens a serem fornecidos para exibição ou manipulação na tag <ui:repeat> pode ser dos seguintes tipos:

a) Um objeto Java;
b) Um array (matriz);
c) Uma instância de java.util.List;
d) Uma instância de java.sql.ResultSet;

Se a coleção de dados for null a tag não produzirá nenhum resultado.

Vamos então ver um exemplo bem simples do uso deste controle. Comece criando um novo bean gerenciado JSF chamado Livro. Modifique-o para o código abaixo:

Código para Livro.java:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivo;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class Livro implements Serializable{
    private int codigo;
    private String titulo;
    private String autor;

    // não esqueça o construtor vazio
    public Livro(){}

    public Livro(int codigo, String titulo, String autor){
        this.codigo = codigo;
        this.titulo = titulo;
        this.autor = autor;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }
}

Note que este bean possui os atributos codigo (int), titulo (String) e autor (String). Vamos criar agora um outro bean gerenciado JSP que nos permitirá retornar uma ArrayList de objetos da classe Livro. Veja o código para o bean Biblioteca:

Código para Biblioteca.java:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivo;

import java.io.Serializable;
import java.util.*;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class Biblioteca implements Serializable {
    // vamos declarar uma ArrayList de livros
    private ArrayList<Livro> listaLivros;

    // construtor vazio
    public Biblioteca() {
    }

    // método que permite obter a lista de livros
    public ArrayList<Livro> getListaLivros() {
        // vamos criar uma nova instância de ArrayList
        listaLivros = new ArrayList<Livro>();

        // vamos adicionar alguns livros à lista
        listaLivros.add(new Livro(234, "Java - Como Programar",
                "Harvey M. Deitel, Paul J. Deitel"));
        listaLivros.add(new Livro(823, "Java 2 - Interfaces Gráficas",
                "Osmar J. Silva"));
        listaLivros.add(new Livro(698, "Core Java 2: Fundamentos - Volume 1",
                "Cay S. Horstmann"));
        listaLivros.add(new Livro(98, "JavaScript Avançado",
                "Osmar J. Silva"));

        return listaLivros;
    }
}

Veja que a classe Biblioteca possui um método com a seguinte assinatura:

public ArrayList<Livro> getListaLivros();

É este método que passaremos para a tag <ui:repeat> e deixaremos que ela se encarregue de listar todos os livros em um tabela HTML. Veja a página Facelets na qual temos a tag <ui:repeat>:

Código para index.xhtml:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Estudos JavaServer Faces</title>
    </h:head>
    <h:body>
       <h:form>

           <table border="1" width="400px" cellpadding="3">

           <ui:repeat value="#{biblioteca.listaLivros}" var="livro">

               <tr>
                   <td>#{livro.codigo}</td>
                   <td>#{livro.titulo}</td>
                   <td>#{livro.autor}</td>
               </tr>

           </ui:repeat>

           </table>

       </h:form>
    </h:body>
</html>

Note que, diferente do controle <h:dataTable> do JavaServer Faces, quando estamos usando a tag <ui:repeat> nós temos que, por conta própria, declarar os demais elementos HTML. Isso nos dá a vantagem adicional de refinar ao máximo a formatação e controle sobre os elementos da página.

Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em

Vantagens e Desvantagens do Concreto Armado

O concreto armado é composto pelo concreto simples e por barras de aço estrategicamente posicionadas no interior do concreto. O trabalho conjunto é garantido pela aderência entre os materiais que o compõem e, com isso, o concreto armado une a resistência à compressão do concreto com a resistência à tração do aço.

Com relação às características do concreto armado, assinale a alternativa correta:

A) O concreto armado tem elevada resistência à compressão e baixa resistência à tração.

B) As armaduras colocadas na parte inferior de vigas de concreto absorvem os esforços de tração de uma peça sujeita à flexão e controlam o aparecimento de fissuras.

C) As armaduras de peças de concreto armado se limitam a absorver os esforços gerados por solicitações normais de tração.

D) É preciso ter cuidado ao utilizar o concreto e o aço em conjunto, já que são materiais distintos.

E) O concreto armado surgiu apenas no século XX, quando passou a ser utilizado também no Brasil.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Processos e técnicas construtivas de instalações elétricas e hidráulicas

As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas.

I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação.

II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica.

III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos.

IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica.

Assinale a alternativa que apresenta somente as afirmativas corretas.

A) Apenas a afirmativa I está correta.

B) Apenas a afirmativa III está correta.

C) Apenas as afirmativas II e III estão corretas.

D) Apenas as afirmativas I, II e IV estão corretas.

E) As afirmativas I, II, III e IV estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrostática

Princípios da Hidrostática

A hidrostática é um ramo da Física que tem como objeto de estudo a propriedade dos líquidos e fluidos sob a ação da força gravitacional em equilíbrio estático.

De acordo com o escopo dessa disciplina, marque a alternativa que melhor define massa específica.

A) Massa específica é a própria densidade relativa à substância.

B) Pode ser definida pela quantidade de matéria que cabe no volume de 1 litro dessa substância.

C) Massa específica é o volume ocupado por uma substância e a massa de uma porção oca de uma substância.

D) Massa específica pode ser a razão direta entre força pela área dada em Pascal (Pa), dividida pelo volume total da substância.

E) A massa especifica é a razão entre a massa homogênea e o volume.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ética, Legislação e Entidades que regulamentam a profissão

Pensando no papel dos códigos de conduta ética desenvolvidos pelas empresas, qual afirmativa a seguir é incorreta?

A) Podem ser apresentados através das políticas e objetivos da empresa, bem como pode ser repassado de modo informal através da cultura da empresa.

B) Em geral, os códigos abordam temas relativos à qualidade dos serviços e produtos, assuntos sigilosos, tratamento de clientes e fornecedores, entre outros.

C) O código de ética é a referência suprema para conduta dos funcionários, sendo, inclusive, mais relevante que as leis e códigos das entidades de classe em uma situação de impasse.

D) Você deve sempre procurar seguir o código de conduta ética de sua empresa, o que lhe orientará na qualidade do trabalho e relacionamento com colegas, clientes e fornecedores.

E) É correto, em uma entrevista de trabalho, abordar o código de ética da organização, solicitando-o e perguntando sobre alguma temática.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Empuxo

O princípio elaborado por Arquimedes diz que a força de flutuação sobre um corpo submerso em um fluido é igual ao peso do fluido deslocado pelo corpo.

À luz desse princípio, calcule a carga total que um navio no mar (1,03g/cm3) pode carregar sem afundar, supondo que ele tem um volume de 200m3.

A) 150.000kg.

B) 190.000kg.

C) 106.000kg.

D) 200.000kg.

E) 206.000 kg.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Facelets

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.