struts2Aan de slag met struts2


Opmerkingen

Hoewel het framework eenvoudig te gebruiken is, veronderstelt het maken van niet-triviale applicaties een grondige kennis van vele JEE-technologieën, waaronder:

  • Java
  • filters
  • JSP
  • Tagbibliotheken
  • JavaBeans
  • HTML en HTTP
  • Webcontainers (zoals Tomcat)
  • XML

Download

Een distributie kan worden gedownload van de Apache Struts-website . De volledige distributie bevat:

  • het bestand struts2-core.jar
  • gerelateerde afhankelijkheden
  • voorbeeld applicaties
  • een kopie van de documentatie in HTML-formaat
  • de volledige broncode.

Lege toepassing

De lege webtoepassing in de map met apps van de distributie is bedoeld als sjabloon.

Er is zelfs een eenvoudig batchbestand in de broncodemap die we kunnen gebruiken om de toepassing opnieuw te compileren.

We kunnen een kopie van de blank.war , deze in onze container implementeren en de geëxplodeerde kopie gebruiken als basis voor onze applicatie.

Nieuwe applicatie van Maven Archetype

Voor degenen onder ons die Maven als build-systeem gebruiken, kunnen we het Maven Archetype gebruiken om een nieuwe applicatie te maken.

Raadpleeg eerst de maven archetype catalogus

mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/
 

u kunt een van de volgende achetypen gebruiken:

The Blank Convention Archetype (struts2-archetype-conventie)

Het heeft de volgende kenmerken:

  • Op conventie gebaseerde validatie
  • Voorbeeldacties
  • Bronnenbundel op pakketniveau
  • Testen van een eenheid
  • Google AppBewust

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-convention \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het lege archetype (struts2-archetype-blank)

Het heeft de volgende kenmerken:

  • Op XML gebaseerde configuratie, inclusief extra configuratiebestand
  • Voorbeeldacties
  • Bronnenbundel op pakketniveau
  • Op XML gebaseerde validatie
  • Testen van een eenheid

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-blank \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het Starter Archetype (struts2-archetype-starter)

Het heeft de volgende kenmerken:

  • Sitemesh-integratie
  • Actievoorbeeld (zowel via veer als veerpoten)
  • Lente integratie
  • Validatievoorbeeld (actie en actie-alias niveau)
  • Conversie voorbeeld (globaal en actieniveau)
  • Bronbundel (zowel globaal, actie- als pakketniveau)

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-starter \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het AngularJS Archetype (struts2-archetype-angularjs)

Het heeft de volgende kenmerken:

  • Op conventie gebaseerde actieconfiguratie
  • Voorbeeldacties met JSON-resultaat
  • Voorbeeld voor AngularJS en Struts2-integratie

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-angularjs \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het portlet Blank archetype (struts2-archetype-portlet)

Het heeft de volgende kenmerken:

  • View, Edit, and Help mode examples
     
  • Eenvoudig formulier voor voorkeuren in de bewerkingsmodus
  • Kan worden ingezet als servlet of portlet-applicatie
  • Kan de Maven Jetty-plug-in gebruiken om te implementeren met het pluto-embedded profiel (gebruik 'mvn jetty: run -Ppluto-embedded', dan toegang tot http: // localhost: 8080 / /pluto/index.jsp)

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-portlet \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het portletdatabase-archetype (struts2-archetype-dbportlet)

Het heeft de volgende kenmerken:

  • Uses Spring and Hsql to show a real database query
     
  • Ingebouwde cache van queryresultaten
  • Bekijk, bewerk en help-modus voorbeelden
  • Eenvoudig formulier voor voorkeuren in de bewerkingsmodus
  • Kan worden ingezet als servlet of portlet-applicatie
  • Kan de Maven Jetty-plug-in gebruiken om te implementeren als een servlet-webapp

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myWebApp \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-dbportlet \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org
 

Het plug-in archetype (struts2-archetype-plugin)

Het heeft de volgende kenmerken:

  • Voorbeeld nieuw resultaattype
  • Voorbeeld op XML gebaseerde configuratie

voer het commando uit om het via maven te downloaden

mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
                            -DartifactId=myPlugin \
                            -DarchetypeGroupId=org.apache.struts \
                            -DarchetypeArtifactId=struts2-archetype-plugin \
                            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
                            -DremoteRepositories=http://struts.apache.org