Přechod ze servletu na JSP – přidání JSPX.
1 package cz.frantovo.sql.vyuka.dto;
3 import cz.frantovo.sql.vyuka.Html;
4 import java.util.ArrayList;
5 import java.util.Collection;
8 * Tabulka, která je výsledkem SQL dotazu.
11 public class Tabulka implements HtmlObjekt {
13 private String[] zahlavi;
14 private String zahlaviTip;
15 private Collection<Object[]> hodnoty = new ArrayList<Object[]>();
17 public String getHtml() {
19 if (getZahlavi() == null || getHodnoty() == null || getZahlavi().length < 1) {
20 return "<p>Chybná tabulka</p>";
23 StringBuffer html = new StringBuffer();
25 html.append("<table>");
28 html.append("<thead title=\"Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.\">");
30 for (String z : getZahlavi()) {
31 html.append("<td>" + Html.escapuj(z) + "</td>");
34 html.append("</thead>");
37 html.append("<tbody>");
38 for (Object[] hh : getHodnoty()) {
41 html.append(formatujBunku(h));
45 html.append("</tbody>");
47 html.append("</table>");
50 return html.toString();
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>";
59 return "<td>" + Html.escapuj(String.valueOf(o)) + "</td>";
63 public String[] getZahlavi() {
67 public void setZahlavi(String[] zahlavi) {
68 this.zahlavi = zahlavi;
71 public String getZahlaviTip() {
75 public void setZahlaviTip(String zahlaviTip) {
76 this.zahlaviTip = zahlaviTip;
79 public Collection<Object[]> getHodnoty() {