JSF Ui:repeat

0

Witam, mam problem z prawidłowym wyświetlaniem danych z bazy. Mam napisana metode która zwraca mi liste obiektów ktore chciałbym wyswietlić.

@ManagedBean(name="data")
public class Column {
    
    private  List<Rom> leftpanel = new ArrayList<Rom>();
    private  List<Rom> roma;   
    

    public List<Rom> getLeftpanel() throws SQLException {
        
        DataRom Romik = new DataRom();
        this.roma = Romik.getRom();         
        Rom obiekt = null;
        int zakres = 1; 
        int a = 0;
        while (a < this.roma.size()) {
            obiekt = this.roma.get(a);            
            if(obiekt.getId() == zakres){ 
                this.leftpanel.add(obiekt);                
                zakres = zakres + 3;
            }
            a++;              
        }        
        return this.leftpanel;
    }

Strona JSF wyglada tak

<?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:f="http://java.sun.com/jsf/core"      
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <head>
        <title>Test</title>
    </head>
    <body>        
        <ui:repeat var="rom" value="#{data.leftpanel}">
            <div class="room" id="#{rom.id}">
                <div class="description">
                    <h3 class="title">#{rom.title}</h3>
                    <h5 class="user">#{rom.user_name}</h5>
                </div>
                <img class="miniaturka" src="#{rom.thumb}" />
                <div class="lw">
                    <h1 class="text-center">#{rom.count_post}</h1>
                </div> 
                <div class="content">
                    <header></header>
                    <section>
                        <p>#{rom.content}}</p>       
                    </section>
                </div>   	
            </div>
        </ui:repeat>
    </body>
</html> 

Dane sa wyświetlane jednak wielokrotnie, w debugerze zauważyłem. że metoda leftpanel jest wykonywana wiele razy. Jednak nie mam pojecia dlaczego. Powinna być wykonana tylko raz. Prosił bym o pomoc w wyjaśnieniu o co w tym chodzi.

0

A gdie wyczytałeś ze metoda leftpanel zostanie wywolana tylko raz

0

Hm... sądziłem, że jesli wywołuje ja tylko raz to wykonuje sie tylko raz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1