- Learn
- Guida Apache Struts
- Hello World con Struts
Hello World con Struts
In questa lezione vediamo come su possa realizzare una applicazione di benvenuto (la classica “Hello World”), che visualizza un messaggio di benvenuto. Iniziamo ad approfondire alcuni concetti e ne lasceremo altri da trattare in seguito.
Dopo aver creato il nostro progetto J2EE con Eclipse importiamo il file struts-blank-1.x.x.war
così come abbiamo visto nella lezione precedente. Ecco ciò che otteniamo lanciando l’applicazione (per esempio su TomCat):

In precedenza abbiamo visto come questo progettino rappresenti l’ossatura di base di una applicazione Struts. In questa lezione continueremo ad analizzare i file di questa applicazione, per comprenderne il funzionamento.
I componenti principali dell’applicazione struts-blank
sono:
- Il file WEB-INF/web.xml
- Il file WEB-INF/struts-config.xml
- I file .jsp (index.jsp, pages/Welcome.jsp)
- Il file WEB-INF/classes/message.properties
- Le api di Struts contenute nella cartella WEB-INF/lib
Il file web.xml come abbiamo detto nelle lezioni precedenti, non è un file di Struts ma il file di configurazione per ogni applicazione J2EE.
Apriamo il file e osserviamo il contenuto degli elementi <servlet>
e <servlet-mapping>
: è sovrapponibile alla configurazione standard già esaminata in precedenza:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
index.jsp
Infatti anche qui troviamo la configurazione dell’ActionServlet e la sua mappatura, con la delega alla classe ActionServlet
di gestire tutti i file che abbiano estensione .do
. Infine definiamo come file di partenza la vista index.jsp
.
Esaminiamo quindi il file configurazione WEB-INF/struts-config.xml.
<global-forwards>
<forward name="welcome" path="/Welcome.do"/>
</global-forwards>
Nel global-forwards
diciamo che quando viene inviata una richiesta alla pagina /Welcome.do
, questa viene associata ad un forward di nome welcome
<action-mappings>
<action path="/Welcome" forward="/pages/Welcome.jsp"/>
</action-mappings>
Questa dicitura serve per configurare l’action Welcome.do
definendone il forward alla pagina /pages/Welcome.jsp
. Inoltre abbiamo la dichiarazione del message-resource:
<message-resources parameter="MessageResources" />
Lo struts-config della nostra piccola applicazione contiene l’esempio per la configurazione di qualsiasi componente di Struts.
Adesso passiamo alle due viste. La prima è la index.jsp:
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<logic:redirect forward="welcome"/>
Si dichiara il tag <logic>
e si effettua un forward all’action con il nome welcome
configurata nello struts-config
.
La pagina pages/welcome.jsp si compone invece nel seguente modo:
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<html:html>
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<body bgcolor="white">
<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
<font color="red">
ERROR: Application resources not loaded -- check servlet container
logs for error messages.
</font>
</logic:notPresent>
<h3><bean:message key="welcome.heading"/></h3>
<p><bean:message key="welcome.message"/></p>
</body>
</html:html>
Nelle lezioni successive chiariremo tutte le sue parti, per adesso commentiamo solo queste righe:
<h3><bean:message key="welcome.heading"/></h3>
<p><bean:message key="welcome.message"/></p>
Che servono a prelevare dei messaggi dal “message resource” per comporre la pagina Jsp al momento della compilazione. Per prelevare i messaggi basta specificare la chiave.
Infine abbiamo il file MessageResources.properties
(nella cartella WEB-INF/src/java/
) in cui troviamo le definizioni per tutti i messaggi con le relative chiavi.
welcome.title=Struts Blank Application welcome.heading=Welcome! welcome.message=To get started on your own application, copy the struts-blank.war to a new WAR file using the name for your application. Place it in your container's "webapp" folder (or equivalent), and let your container auto-deploy the application. Edit the skeleton configuration files as needed, restart your container, and you are on your way! (You can find the MessageResources.properties file with this message in the /WEB-INF/src folder.)
Questo sistema, che permette di associare i messaggi alle chiavi, risulta molto utile, specie quando vogliamo internazionalizzare l’applicazione.
Se vuoi aggiornamenti su Hello World con Struts inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Javascript Task Automation
La diffusione sempre più ampia di applicazioni sviluppate interamente in HTML5 e JS richiede l’adozione di processi di automazione per […]