Witam serdecznie,
jestem na etapie studiowania książki - Java EE 6. Programowanie aplikacji WWW i w tej książce jest przykład, który przepisałem kropla w kroplę (niby) i mi nie działa :/ sprawdzałem parę razy i nic. Korzystam z Eclispse oraz TomCat.
package notowaniagieldowe.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Spolka{
private String nazwa;
private String symbol;
private String sektor;
private List<Notowanie> notowania;
private Notowanie ostatnie;
public Spolka() {
}
public Spolka(String nazwa, String symbol,String sektor){
this.nazwa = nazwa;
this.symbol = symbol;
this.sektor = sektor;
}
public Spolka(String nazwa, String symbol,String sektor,double cena,double zmiana,Date dzien){
this(nazwa,symbol,sektor);
this.notowania = new ArrayList<Notowanie>();
this.notowania.add(new Notowanie(cena,dzien, zmiana, this));
}
/**
* @return the nazwa
*/
public String getNazwa() {
return nazwa;
}
/**
* @param nazwa the nazwa to set
*/
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
/**
* @return the symbol
*/
public String getSymbol() {
return symbol;
}
/**
* @param symbol the symbol to set
*/
public void setSymbol(String symbol) {
this.symbol = symbol;
}
/**
* @return the sektor
*/
public String getSektor() {
return sektor;
}
/**
* @param sektor the sektor to set
*/
public void setSektor(String sektor) {
this.sektor = sektor;
}
/**
* @return the notowania
*/
public List<Notowanie> getNotowania() {
return notowania;
}
/**
* @param notowania the notowania to set
*/
public void setNotowania(List<Notowanie> notowania) {
this.notowania = notowania;
}
/**
* @return the ostatnie
*/
public Notowanie getOstatnie() {
if (ostatnie == null)
if(getNotowania() != null && !getNotowania().isEmpty())
this.ostatnie = getNotowania().get(getNotowania().size()-1);
return ostatnie;
}
/**
* @param ostatnie the ostatnie to set
*/
public void setOstatnie(Notowanie ostatnie) {
this.ostatnie = ostatnie;
}
}
package notowaniagieldowe.entity;
import java.util.Date;
public class Notowanie {
private Date dzien;
private double cena;
private double zmiana;
private Spolka spolka;
public Notowanie() {
}
public Notowanie(double cena, Date dzien, double zmiana, Spolka spolka){
this.cena = cena;
this.dzien =dzien;
this.zmiana= zmiana;
this.spolka = spolka;
}
/**
* @return the dzien
*/
public Date getDzien() {
return dzien;
}
/**
* @param dzien the dzien to set
*/
public void setDzien(Date dzien) {
this.dzien = dzien;
}
/**
* @return the cena
*/
public double getCena() {
return cena;
}
/**
* @param cena the cena to set
*/
public void setCena(double cena) {
this.cena = cena;
}
/**
* @return the zmiana
*/
public double getZmiana() {
return zmiana;
}
/**
* @param zmiana the zmiana to set
*/
public void setZmiana(double zmiana) {
this.zmiana = zmiana;
}
/**
* @return the spolka
*/
public Spolka getSpolka() {
return spolka;
}
/**
* @param spolka the spolka to set
*/
public void setSpolka(Spolka spolka) {
this.spolka = spolka;
}
}
package notowaniagieldowe.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Menedzer {
private List<Spolka> spolki;
public Menedzer(){
spolki = new ArrayList<Spolka>(3);
Date data = new Date();
spolki.add(new Spolka("Kocia spółka węgla", "KSW", "energetyczny", 20, 11.1, data));
spolki.add(new Spolka("KitKompDontCom", "KKDC", "inforatyczny", 90, 3.4, data));
spolki.add(new Spolka("Kocie Dane Studio", "KDS", "rozrywkowy", 15, -11.7, data));
}
/**
* @return the spolki
*/
public List<Spolka> getSpolki() {
return spolki;
}
/**
* @param spolki the spolki to set
*/
public void setSpolki(List<Spolka> spolki) {
this.spolki = spolki;
}
}
I teraz chyba najważniejsze:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.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>Facelet Title</title>
</h:head>
<h:body>
<h1>Notowanie giełdowe</h1>
<table>
<tr>
<th>Nazwa</th>
<th>Symbol</th>
<th>Cena</th>
<th>Zmiana (%)</th>
</tr>
<ui:repeat value="#{menedzer.spolki}" var="spolka">
<tr>
<td>#{spolka.nazwa}</td>
<td>#{spolka.symbol</td>
<td>#{spolka.ostatnie.cena}</td>
<td>#{spolka.ostatnie.zmiana}</td>
</tr>
</ui:repeat>
</table>
</h:body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<managed-bean>
<managed-bean-name>menedzer</managed-bean-name>
<managed-bean-class>notowaniagieldowe.entity.Menedzer</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
A tu jak wygląda rezultat:
- b80b0b3c5c.png (166 KB) - ściągnięć: 158