java/sql-vyuka/web/ajax.jspx
author František Kučera <franta-hg@frantovo.cz>
Sun May 31 22:36:58 2009 +0200 (2009-05-31)
changeset 29 4b6ab4ba1a95
parent 28 6facd99aa189
child 31 9d8c8622ff4e
permissions -rw-r--r--
Tipy (rady, citáty…) pro uživatele načítáme z databáze (v náhodném pořadí). + Databázové schéma.
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
     3           xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
     4           xmlns:fn="http://java.sun.com/jsp/jstl/functions"
     5           xmlns:c="http://java.sun.com/jsp/jstl/core"
     6           version="2.0">
     7     <jsp:directive.page contentType="text/html" pageEncoding="UTF-8"/>
     8     <fmt:setBundle basename="cz.frantovo.sql.vyuka.preklady" scope="application"/>
     9     <jsp:useBean id="ajax" class="cz.frantovo.sql.vyuka.web.Ajax" scope="request"/>
    10 
    11     <jsp:scriptlet>
    12         request.setCharacterEncoding("UTF-8");
    13         ajax.setKlient(request.getRemoteAddr(), request.getHeader("x-forwarded-for"), request.getRequestedSessionId());
    14     </jsp:scriptlet>
    15 
    16     <c:choose>
    17         <!-- <Akce: Historie a vykonání SQL příkazu> -->
    18         <c:when test="${param.akce == 'historie' || param.akce == 'vykonat'}">
    19             <!-- <Načteme výsledek z beany>  -->
    20             <c:choose>
    21                 <c:when test="${param.akce == 'historie'}">
    22                     <c:set var="vysledek" value="${ajax.historie}" scope="request"/>
    23                 </c:when>
    24                 <c:when test="${param.akce == 'vykonat'}">
    25                     <jsp:setProperty name="ajax" property="sqlPrikaz" value="${param.sql}"/>
    26                     <c:set var="vysledek" value="${ajax.SQLVysledek}" scope="request"/>
    27                 </c:when>
    28             </c:choose>
    29             <!-- </Načteme výsledek z beany>  -->
    30 
    31             <!-- <Tabulky> -->
    32             <c:forEach var="tabulka" items="${vysledek.tabulky}">
    33                 <!-- <lokalizace> -->
    34                 <c:choose>
    35                     <c:when test="${tabulka.lokalizovat}">
    36                         <fmt:message key="${tabulka.zahlaviTip}" var="zahlaviTip"/>
    37                     </c:when>
    38                     <c:otherwise>
    39                         <c:set value="${tabulka.zahlaviTip}" var="zahlaviTip"/>
    40                     </c:otherwise>
    41                 </c:choose>
    42                 <!-- </lokalizace> -->
    43                 <table>
    44                     <thead title="${zahlaviTip}">
    45                         <tr>
    46                             <c:forEach var="zahlavi" items="${tabulka.zahlavi}">
    47                                 <td>
    48                                     <!-- <lokalizace> -->
    49                                     <c:if test="${tabulka.lokalizovat}">
    50                                         <fmt:message key="${zahlavi}" var="zahlavi"/>
    51                                     </c:if>
    52                                     <!-- </lokalizace> -->
    53                                     <c:out value="${zahlavi}"/>
    54                                 </td>
    55                             </c:forEach>
    56                         </tr>
    57                     </thead>
    58                     <tbody>
    59                         <c:forEach var="radek" items="${tabulka.hodnoty}">
    60                             <tr>
    61                                 <c:forEach var="bunka" items="${radek}">
    62                                     <!-- <formátováníPodleDatovýchTypů> -->
    63                                     <c:choose>
    64                                         <c:when test="${bunka.class == 'class java.sql.Timestamp'}">
    65                                             <td>
    66                                                 <fmt:formatDate value="${bunka}" pattern="dd.MM.yyyy HH:mm:ss"/>
    67                                                 <!-- uvnitř vzoru je nedělitelná mezera -->
    68                                             </td>
    69                                         </c:when>
    70                                         <c:when test="${bunka.class == 'class java.sql.Date'}">
    71                                             <td>
    72                                                 <fmt:formatDate value="${bunka}" pattern="dd.MM.yyyy"/>
    73                                             </td>
    74                                         </c:when>
    75                                         <c:when test="${bunka.class == 'class java.lang.Integer' || bunka.class == 'class java.math.BigDecimal'}">
    76                                             <td class="cislo">
    77                                                 <fmt:formatNumber value="${bunka}" pattern="###,###.###"/>
    78                                             </td>
    79                                         </c:when>
    80                                         <c:otherwise>
    81                                             <td>
    82                                                 <c:out value="${bunka}" />
    83                                             </td>
    84                                         </c:otherwise>
    85                                     </c:choose>
    86                                     <!-- </formátováníPodleDatovýchTypů> -->
    87                                 </c:forEach>
    88                             </tr>
    89                         </c:forEach>
    90                     </tbody>
    91                 </table>
    92             </c:forEach>
    93             <!-- </Tabulky> -->
    94 
    95             <!-- <Hlášky> -->
    96             <c:forEach var="hlaska" items="${vysledek.hlasky}">
    97                 <p class="vysledek${hlaska.typ}">
    98                     <c:out value="${hlaska.text}" escapeXml="${hlaska.escapovat}" />
    99                 </p>
   100             </c:forEach>
   101             <!-- </Hlášky> -->
   102         </c:when>
   103         <!-- </Akce: Historie a vykonání SQL příkazu> -->
   104 
   105 
   106         <!-- <Akce: Nápověda> -->
   107         <c:when test="${param.akce == 'napoveda'}">
   108             <p>TODO: nápověda.</p>
   109         </c:when>
   110         <!-- </Akce: Nápověda> -->
   111     </c:choose>
   112 </jsp:root>