|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Apache Struts (3) - i18n, jsp stránky, kompilaceVytváříme multijazyčnou aplikaci pomocí resource souborů, probereme jsp stránky a uživatelské značky Struts, aplikaci zkompilujeme a provedeme první deploy
Internacionalizace (i18n)Internacionalizace Struts spočívá především v souborech lokalizovaných zpráv, jakýkoliv text nebo obrázek má svůj vlastní klíč. V závislosti na nastavení Locales uživatele aplikace (konkrétně nastavení preference jazyků jeho prohlížeče), se načte správný soubor obsahující klíče a jím odpovídající položky. Načítání a zároveň ukládání souborů zpráv do vyrovnávací paměti se provádí při vyžádání první lokalizované hodnoty. Soubory v našem příkladu umístíme do balíku # -- other errors --- errors.invalidlogin=Neplatn\u00e9 \u00fadaje # -- login -- login.title=P\u0159ihla\u0161ovac\u00ed str\u00e1nka login.username=U\u017eivatel login.password=Heslo login.submit=Ode\u0161li login.invalid=Neplatn\u00e9 p\u0159ihl\u00e1\u0161en\u00ed #-- welcome -- welcome.title=V\u00edtej welcome.back=V\u00edtej zp\u011bt #-- global -- global.user=U\u017eivatel
Nastavení lokalizace je umístěno ve <message-resources parameter="cz.linuxsoft.web.struts.shop.resources.MessageResources" null="true"/> Část View - JSP stránkyStruts v této části modelu MVC především nabízejí uživatelské značky nezávislé na implementaci stránek. Úzce však spolupracují s technologií Java Server Pages, jenž je součástí J2EE. Uživatelské značky lze rozdělit do těchto hlavních oblastí:
index.jsp
První JSP stránkou, kterou vytvoříme, je <%@ page pageEncoding="UTF-8" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%-- přesměrování na standartní akci --%> <logic:redirect forward="default"/>
Tato stránka pouze přesměruje tok aplikace na standartní akci, která je nadefinována v části <global-forwards> <forward name="default" path="/do/default" redirect="false"/> </global-forwards> <action-mappings> <action path="/default" forward="/pages/login.jsp" unknown="true"/> <!-- další akce --> <action-mappings> login.jsp
Další stránkou je
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <%@ page contentType="text/html" %> <%@ page pageEncoding="UTF-8" %> <%-- definice knihoven Struts --%> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <html:xhtml /> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title><bean:message key="login.title" /></title> <link rel="stylesheet" type="text/css" href="<html:rewrite page="/theme/style.css" />"> </head> <body> <h1><bean:message key="login.title" /></h1> <div class="errors"> <html:errors /> <br /><br /> </div> <html:form action="/login" method="post"> <table> <tr><td><bean:message key="login.username" /></td><td>:</td> <td><html:text property="username" value="" /></td></tr> <tr><td><bean:message key="login.password" /></td> <td>:</td><td><html:password property="password" value="" /></td></tr> </table> <p><html:submit><bean:message key="login.submit" /></html:submit></p> </html:form> </body> </html:html> welcome.jspPoslední stránkou je <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <%@ page contentType="text/html" %> <%@ page pageEncoding="UTF-8" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <html:xhtml /> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title><bean:message key="welcome.title" /></title> <link rel="stylesheet" type="text/css" href="<html:rewrite page="/theme/style.css" />"> </head> <body> <div class="errors"> <html:errors /> </div> <div class="menu"> <table> <td><html:link action="/logout">Logout</html:link></td> <td class="username"><bean:message key="global.user" />: <bean:write name="user" property="realName" /></td> </table> </div> <div class="body"> <bean:message key="welcome.back" /> </div> </body> </html:html> Nastavení Ant, kompilace
Apache Ant je software, jenž nám usnadňuje práci s kompilací java projektů. Zájemce o bližší popis odkazuji na seriál Nebojte se mravence. Pokud jste dosud postupovali podle tohoto návodu, tj. upravovali aplikaci struts-blank, tak v adresáři <project name="shop" basedir="../" default="all"> <!-- Local system paths --> <property name="servlet.jar" value="/usr/local/share/jboss-4.0.1/server/default/lib/javax.servlet.jar"/> <property name="distpath.project" value="../../deploy"/> <!-- Project settings --> <property name="project.title" value="LinuxSoft Shop"/> <property name="project.distname" value="shop"/> <property name="project.version" value="1.0"/> <!-- Path settings --> <property name="doc.path" value="./doc/api"/> <property name="doc.src" value="./src/java"/> <!-- classpath for Struts 1.1 --> <path id="compile.classpath"> <pathelement path ="lib/commons-beanutils.jar"/> <pathelement path ="lib/commons-digester.jar"/> <pathelement path ="lib/struts.jar"/> <pathelement path ="classes"/> <pathelement path ="${servlet.jar}"/> <pathelement path ="${classpath}"/> </path> <!-- Check timestamp on files --> <target name="prepare"> <tstamp/> </target> <!-- Copy any resource or configuration files --> <target name="resources"> <copy todir="classes" includeEmptyDirs="no"> <fileset dir="src/java"> <patternset> <include name="**/*.conf"/> <include name="**/*.properties"/> <include name="**/*.xml"/> </patternset> </fileset> </copy> </target> <!-- Normal build of application --> <target name="compile" depends="prepare,resources"> <javac srcdir="src" destdir="classes"> <classpath refid="compile.classpath"/> </javac> </target> <!-- Remove classes directory for clean build --> <target name="clean" description="Prepare for clean build"> <delete dir="classes"/> <mkdir dir="classes"/> </target> <!-- Build entire project --> <target name="project" depends="clean,prepare,compile,javadoc"/> <!-- Create binary distribution --> <target name="dist" description="Create binary distribution"> <mkdir dir="${distpath.project}"/> <jar jarfile="${distpath.project}/${project.distname}.jar" basedir="./classes"/> <copy file="${distpath.project}/${project.distname}.jar" todir="${distpath.project}"/> <war basedir="../" warfile="${distpath.project}/${project.distname}.war" webxml="web.xml"> <exclude name="${distpath.project}/${project.distname}.war"/> </war> </target> <!-- Build project and create distribution--> <target name="all" depends="project,dist"/> </project>
Poté již jen stačí spustit příkazem Nasazení aplikace na serveru
WAR soubor (z adresáře deploy) nakopírujte do adresáře PříštěPodrobněji probereme formuláře, ActionForm, DynaActionForm, jejich validaci metodou a vestavěným validátorem. Ke stažení
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |