![]() ![]() |
ARCHIV |
||||||||||||||||||||||
![]() ![]() ![]() ![]() ![]() ![]() |
|
Značka | Popis |
---|---|
<html:xhtml /> | určuje, že typ dokumentu bude XHTML |
<html:html> | vloží začátek html stránky (tag html) |
<bean:message key="login.title" /> | zobrazí text s klíčem login.title (viz část o i18n) |
<html:errors /> | zobrazí chyby předávané jsp stránce akcí |
<html:form action="/login" method="post"> | říká jakou akcí budou zpracována data z formuláře |
<html:rewrite page="/theme/style.css" /> | přepíše relativní cestu z kořenového adresáře aplikace na absolutní |
<html:link action="/logout">Logout</html:link> | vytvoří odkaz na akci logout |
<bean:write name="user" property="realName" /> | vypíše člena realName beany user |
<?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>
Poslední stránkou je welcome.jsp
. Jejím jediným úkolem je zobrazení uživatelského menu a uvítací zprávy.
<?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>
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 WEB-INF/src
naleznete soubor build.xml
. V něm je potřeba především upravit cestu ke knihovně servletu aplikačního serveru a poté doplnit proměnou ${servlet.jar}
do seznamu CLASSPATH projektu. Po úpravě tedy build.xml
vypadá následovně.
<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 ant compile dist
samotnou kompilaci a vytvoření archivu WAR.
WAR soubor (z adresáře deploy) nakopírujte do adresáře /usr/local/share/jboss-4.0.1/server/default/
, server se o zbytek postará sám. Po spuštění serveru otestujte funkčnost aplikace na adrese http://localhost:8080/shop
Podrobněji probereme formuláře, ActionForm, DynaActionForm, jejich validaci metodou a vestavěným validátorem.
Příspívat do diskuze mohou pouze registrovaní uživatelé. |
28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
31.7.2023 14:13 /
Linda Graham
iPhone Services
30.11.2022 9:32 /
Kyle McDermott
Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš
Re: zavináč
2.12.2018 23:56 /
František Kučera
Sraz
5.10.2018 17:12 /
Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?