Witam
Chciałbym poprosić o pomoc w wyświetleniu tablicy na stronie jsf.
Kod:
<?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">
<h:head>
<title>Rejestracja wiadomości</title>
</h:head>
<h:body>
<h:form>
<table>
<tr>
<td>Wiadomosc</td>
<td>
<h:inputText label="Wiadomosc"
id="wiadomosc" value="#{Wiadomosc.wiadomosc}"
required="" />
<h:message for="wiadomosc" />
</td>
</tr>
</table>
<p><h:messages /></p>
<p><h:commandButton value="Dodaj" action="#{ListaWiadomosci.dodajWiadomosc(Wiadomosc.wiadomosc)}" /></p>
<p><h:commandButton value="Wyswietl" action="#{ListaWiadomosci.wyswietlWiadomosci}" /></p>
</h:form>
</h:body>
</html>
package paczka;
import javax.faces.bean.ManagedBean;
//import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
/**
*
* @author
*/
@ManagedBean(name="Wiadomosc")
@SessionScoped
public class Wiadomosc {
protected String wiadomosc;
protected int licznik=0;
//private ArrayList<Wiadomosc> lista = new ArrayList<Wiadomosc>();
//dodanie elementu testowego
//koniec dodanie elementu testowego
//public ArrayList<Wiadomosc> getLista() {
// return lista;
//}
//public void setLista(ArrayList<Wiadomosc> lista) {
// this.lista = lista;
//}
public Wiadomosc(){
}
public Wiadomosc(String wiadomosc) {
this.wiadomosc = wiadomosc;
}
public int getLicznik() {
return licznik;
}
public void setLicznik(int licznik) {
this.licznik = licznik;
}
public String getWiadomosc() {
return wiadomosc;
}
public void setWiadomosc(String wiadomosc) {
this.wiadomosc = wiadomosc;
}
}
package paczka;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
//import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
/**
*
* @author
*/
@ManagedBean(name="ListaWiadomosci")
@SessionScoped
public class ListaWiadomosci {
//Wiadomosc wiadomosc = new Wiadomosc();
private ArrayList<Wiadomosc> lista = new ArrayList<Wiadomosc>();
public ArrayList<Wiadomosc> getLista() {
return lista;
}
public void setLista(ArrayList<Wiadomosc> lista) {
this.lista = lista;
}
public String dodajWiadomosc(String wiad){
String zwrotka = null;
Wiadomosc wiadomosc = new Wiadomosc(wiad);
if(lista.add(wiadomosc)==true){
//lista.add(wiadomosc);
wiadomosc.licznik++;
zwrotka="dodane";
}else
{
zwrotka="niedodane";
}
return zwrotka;
}
public String wyswietlWiadomosci(){
return "wyswietl";
}
}
<?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">
<h:head>
<title>Dodane</title>
</h:head>
<h:body>
Dodane:
<h:outputText value="#{Wiadomosc.wiadomosc}"/>
<p><h:outputText value="#{ListaWiadomosci.lista}"/></p>
</h:body>
</html>
<?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:f="http://java.sun.com/jsf/core">
<h:head>
<title>Wyświetl</title>
</h:head>
<h:body>
Lista
<h:dataTable id="Table" value="#{ListaWiadomosci.lista}" var="item" />
<f:facet name="header">
<h:outputText value="Wiadomosci" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Wiadomosci" />
</f:facet>
<h:outputText value="#{item}" />
</h:column>
</h:body>
</html>
Na stronie Dodane widać, że lista się powiększa, niestety nie udaje mi się jej wyświetlić na stronie Wyświetl.
Pozdrawiam