Una delle librerie di tag più utili di Struts è la HTML taglib: permette di creare form di input e interfacce utente basate su HTML. Il vantaggio nell'utilizzare questi tag sta nel fatto che semplificano l'interazione con il framework, grazie ad essi possiamo ragionare direttamente in termini di action, e concentrarci non tanto sul colloquio tra View e Controller, quanto sulla realizzazione del front end.
Per importare questi tag dobbiamo inserire il relativo riferimento alle definizioni in testa alla nostra vista, con una direttiva simile a questa:
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
In questo caso utilizziamo le definizioni presenti online, ma possiamo anche decidere di utilizzare definizioni salvate in locale sul nostro server.
Tutti i tag di questa libreria saranno richiamati utilizzando il prefisso html:
(ad esempio <html:link>)
Facciamo un veloce elenco di questi tag, senza scendere nel dettaglio degli attributi: nelle prossime lezioni esamineremo più dettagliatamente i più importanti.
Tag generici per la formattazione e la navigazione
Nome | Funzione |
---|---|
html |
Visualizza un elemento html |
base |
Realizza l'elemento base di HTML: definisce in automatico l'indirizzo di base per i link relativi |
link |
Crea il codice HTML per il classico link, ma possiamo sfruttarlo per collegare anche le nostre action, che il framework interpreta come ActionForward |
img |
Visualizza un tag HTML img |
frame |
Definisce un frameset HTML, le pagine vengono chiamate al suo interno con lo stesso meccanismo del tag <html:link> |
errors |
Serve per mostrare messaggi d'errore, ad esempio in caso di validazione di un form |
Il tag <html:html>
È usato per la visualizzazione di un elemento HTML. Permette di includere un attributo locale
che scriverà le impostazioni locali dell'utente. Un esempio di uso di questo tag è per impostare la lingua dell'applicazione a seconda delle impostazione del browser. Si usa nel seguente modo:
<html:html locale="true">
</html:html>
Tag per i form
Nome | Funzione |
---|---|
form |
Definisce un form HTML |
text |
Casella di testo |
password |
Visualizza un campo di input per le password |
textarea |
Visualizza un campo di input textarea |
option |
Crea un menu a tendina |
checkbox |
Visualizza un campo di input (checkbox) |
radio |
Visualizza un radio button |
submit |
Visualizza un pulsante submit |
cancel |
Crea un campo di input che annulla il form< |
reset |
Visualizza un campo di input con pulsante reset |
button |
Crea un campo di input (pulsante) |
file |
Visualizza un campo di input per la selezione di un file |
image |
Visualizza un tag input del tipo image |
hidden |
Genera un campo nascosto |
multibox |
Mostra un elenco di checkbox |
options - optionsCollection |
Visualizza una raccolta di opzioni select |
Il tag <html:form>
Il tag <html:form>
di Struts è uno dei più importanti della HTML taglib. Permette di visualizzare un form, che invii i suoi dati riferendosi direttamente ad una action specifica, che potrà servirsi del relativo ActionForm per memorizzare i dati. Esaminiamone gli attributi più importanti:
Nome | Funzione |
---|---|
action |
Deve essere dichiarato l'URL (la action) che riceverà i dati da questo form |
method |
Il metodo HTTP per la richiesta |
focus |
Il nome del campo a cui sarà assegnata la priorità nell'esame della pagina |
style |
Lo stile CSS da applicare al form |
enctype |
Esprime la codifica del contenuto da usare quando questo form viene passato all'elaborazione |
Gli eventi JavaScript
La maggior parte dei tag HTML supportano i gestori degli eventi Javascript (event handler) tramite i loro attributi. Sotto l'elenco degli attributi supportati.
Evento | Si scatena quando |
---|---|
Onblur |
l'elemento perde il focus di input |
Onclick |
l'elemento riceve un click del mouse |
Onfocus |
l'elemento riceve il focus |
Onkeydown |
l'elemento ha un focus di input e un tasto è premuto |
Onkeypress |
l'elemento ha un focus di input e un tasto è premuto e rilasciato |
onmousemove |
l'elemento è sotto il puntatore del mouse e il puntatore viene spostato |
onmousedown |
l'emenento viene cliccato |