root/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java @ 24:dceaaefb1946

Revision 24:dceaaefb1946, 2.1 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Přechod ze servletu na JSP – přidání JSPX.

Line 
1package cz.frantovo.sql.vyuka.dto;
2
3import cz.frantovo.sql.vyuka.Html;
4import java.util.ArrayList;
5import java.util.Collection;
6
7/**
8 * Tabulka, která je výsledkem SQL dotazu.
9 * @author fiki
10 */
11public class Tabulka implements HtmlObjekt {
12
13    private String[] zahlavi;
14    private String zahlaviTip;
15    private Collection<Object[]> hodnoty = new ArrayList<Object[]>();
16
17    public String getHtml() {
18
19        if (getZahlavi() == null || getHodnoty() == null || getZahlavi().length < 1) {
20            return "<p>Chybná tabulka</p>";
21        } else {
22
23            StringBuffer html = new StringBuffer();
24
25            html.append("<table>");
26
27
28            html.append("<thead title=\"Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.\">");
29            html.append("<tr>");
30            for (String z : getZahlavi()) {
31                html.append("<td>" + Html.escapuj(z) + "</td>");
32            }
33            html.append("</tr>");
34            html.append("</thead>");
35
36
37            html.append("<tbody>");
38            for (Object[] hh : getHodnoty()) {
39                html.append("<tr>");
40                for (Object h : hh) {
41                    html.append(formatujBunku(h));
42                }
43                html.append("</tr>");
44            }
45            html.append("</tbody>");
46
47            html.append("</table>");
48
49
50            return html.toString();
51        }
52    }
53
54    private String formatujBunku(Object o) {
55        /** TODO: podporovat i jiné typy */
56        if (o instanceof Integer) {
57            return "<td class=\"cislo\">" + Html.escapuj(String.valueOf(o)) + "</td>";
58        } else {
59            return "<td>" + Html.escapuj(String.valueOf(o)) + "</td>";
60        }
61    }
62
63    public String[] getZahlavi() {
64        return zahlavi;
65    }
66
67    public void setZahlavi(String[] zahlavi) {
68        this.zahlavi = zahlavi;
69    }
70
71    public String getZahlaviTip() {
72        return zahlaviTip;
73    }
74
75    public void setZahlaviTip(String zahlaviTip) {
76        this.zahlaviTip = zahlaviTip;
77    }
78
79    public Collection<Object[]> getHodnoty() {
80        return hodnoty;
81    }
82}
Note: See TracBrowser for help on using the browser.