Formátování a lokalizace. 5. díl
authorFrantišek Kučera <franta-hg@frantovo.cz>
Thu, 18 Feb 2010 15:01:21 +0100
changeset 339f9840afa18f
parent 32 2d84736776a9
child 34 f9ca0203fec5
Formátování a lokalizace.
java/nekurak.net-web/src/java/cz/frantovo/nekurak/preklady_cs.properties
java/nekurak.net-web/web/WEB-INF/web.xml
java/nekurak.net-web/web/formatovani.jsp
     1.1 --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/preklady_cs.properties	Thu Feb 18 10:42:38 2010 +0100
     1.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/preklady_cs.properties	Thu Feb 18 15:01:21 2010 +0100
     1.3 @@ -2,3 +2,8 @@
     1.4  
     1.5  nazev=Neku\u0159\u00E1k.net
     1.6  popis=Datab\u00E1ze neku\u0159\u00E1ck\u00FDch restaurac\u00ED.
     1.7 +
     1.8 +odradkovani=Prvn\u00ED \u0159\u00E1dek\nDruh\u00FD \u0159\u00E1dek
     1.9 +dlouhyRadek=n\u011Bjak\u00FD stra\u0161n\u011B \
    1.10 +dlouh\u00FD text
    1.11 +dalsiKlic=hodnota
     2.1 --- a/java/nekurak.net-web/web/WEB-INF/web.xml	Thu Feb 18 10:42:38 2010 +0100
     2.2 +++ b/java/nekurak.net-web/web/WEB-INF/web.xml	Thu Feb 18 15:01:21 2010 +0100
     2.3 @@ -30,4 +30,8 @@
     2.4  	<res-type>javax.sql.DataSource</res-type>
     2.5  	<res-auth>Container</res-auth>
     2.6      </resource-ref>
     2.7 +    <context-param>
     2.8 +	<param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name>
     2.9 +	<param-value>cs</param-value>
    2.10 +    </context-param>
    2.11  </web-app>
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/java/nekurak.net-web/web/formatovani.jsp	Thu Feb 18 15:01:21 2010 +0100
     3.3 @@ -0,0 +1,78 @@
     3.4 +<?xml version="1.0" encoding="UTF-8"?>
     3.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
     3.6 +	  xmlns:c="http://java.sun.com/jsp/jstl/core"
     3.7 +	  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
     3.8 +	  version="2.0">
     3.9 +    <jsp:directive.page contentType="application/xhtml+xml"/>
    3.10 +    <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    3.11 +		doctype-root-element="html"
    3.12 +		omit-xml-declaration="false"/>
    3.13 +
    3.14 +
    3.15 +    <!-- Aby fungovalo formátování čísel a dat při chybějící HTTP hlavičce -->
    3.16 +    <!-- Není potřeba, pokud ve web.xml nastavíme „fallbackLocale“ -->
    3.17 +    <c:if test="${header['Accept-language'] == null}">
    3.18 +	<fmt:setLocale value="cs"/>
    3.19 +    </c:if>
    3.20 +
    3.21 +    <!-- Jazyk požadovaný prohlížečem (Accept-language) půjde přebít GET parametrem -->
    3.22 +    <c:if test="${param.jazyk != null}">
    3.23 +	<fmt:setLocale value="${param.jazyk}"/>
    3.24 +	<!-- Vyzkoušejte si:
    3.25 +		formatovani.jsp?jazyk=en_
    3.26 +		formatovani.jsp?jazyk=_en
    3.27 +		formatovani.jsp?jazyk=_
    3.28 +	-->
    3.29 +    </c:if>
    3.30 +
    3.31 +    <fmt:setBundle basename="cz.frantovo.nekurak.preklady" scope="application"/>
    3.32 +
    3.33 +    <html xmlns="http://www.w3.org/1999/xhtml">
    3.34 +	<head>
    3.35 +	    <title><fmt:message key="nazev"/></title>
    3.36 +	    <link href="styl.css" type="text/css" rel="StyleSheet"/>
    3.37 +	</head>
    3.38 +	<body>
    3.39 +
    3.40 +
    3.41 +	    <h1>Formátování</h1>
    3.42 +
    3.43 +	    <h2>Čísla</h2>
    3.44 +	    <p>Formát čísla: ###,###.###</p>
    3.45 +	    <p>1234567890 → <fmt:formatNumber value="1234567890" pattern="###,###.###"/></p>
    3.46 +	    <p>1234567.890 → <fmt:formatNumber value="1234567.890" pattern="###,###.###"/></p>
    3.47 +	    <p>1234567.123999 → <fmt:formatNumber value="1234567.123999" pattern="###,###.###"/></p>
    3.48 +
    3.49 +	    <h2>Datum</h2>
    3.50 +	    <jsp:useBean id="datum" class="java.util.Date" scope="request"/>
    3.51 +	    <p>dd.MM. yyyy HH:mm:ss → <fmt:formatDate value="${datum}" pattern="dd.MM. yyyy HH:mm:ss"/></p>
    3.52 +	    <p>dd.MM. yyyy → <fmt:formatDate value="${datum}" pattern="dd.MM. yyyy"/></p>
    3.53 +	    <p>dd.MMM yyyy → <fmt:formatDate value="${datum}" pattern="dd. MMM yyyy"/></p>
    3.54 +	    <p>dd.MMMM yyyy → <fmt:formatDate value="${datum}" pattern="dd. MMMM yyyy"/></p>
    3.55 +
    3.56 +	    
    3.57 +	    
    3.58 +
    3.59 +	    <h1>Lokalizace</h1>
    3.60 +	    <p>K lokalizaci používáme značku &amp;lt;fmt:message key="klic"/&amp;gt;</p>
    3.61 +	    <p>Zvolený jazyk: <fmt:message key="jazyk"/></p>
    3.62 +
    3.63 +	    <!-- lokalizovaný text si můžeme uložit do proměnné -->
    3.64 +	    <fmt:message key="jazyk" var="xJazyk"/>
    3.65 +
    3.66 +	    <!-- a vypsat ho až později -->
    3.67 +	    <p>Obsah proměnné: ${xJazyk}.</p>
    3.68 +
    3.69 +	    <pre><fmt:message key="odradkovani"/></pre>
    3.70 +
    3.71 +	    <p><fmt:message key="dlouhyRadek"/></p>
    3.72 +
    3.73 +
    3.74 +
    3.75 +	    <jsp:include page="WEB-INF/casti/paticka.jsp">
    3.76 +		<jsp:param name="rok" value="2010" />
    3.77 +	    </jsp:include>
    3.78 +	</body>
    3.79 +    </html>
    3.80 +
    3.81 +</jsp:root>