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.