Newsgroup: it.comp.java
Titolo: Framework Struts

Salve a tutti!
Sto iniziando a studiare il framework Struts. Sto trovando molta roba
sulla rete ma non so da dove iniziare. Qualche dritta?
Grazie mille

Direi di partire da qui: 
http://struts.apache.org/learning.html
Ciao

 ha scritto:

Un libro ben fatto, che trovi in rete ( e2dk per esempio ) è "Struts
Survival Guide".
L'argomento Struts è leggermente ostico all'inizio ( sopratutto se trovi
un libro  che parte a razzo col codice oppure uno che fa mille rigiri
teorici ) ma poi una volta presa la mano si procede bene.
Il "Survival guide" è una via di mezzo tra teoria e codice e, dei mille e
mille che ho provato per me è il più comprensibile.
Inviato da 
www.mynewsgate.net


Una domanda / provocazione : si può dire che Struts sia fondamentalmente un
framework per gestire MVC  per il web ? Parlo da profano, ma da quanto visto
mi sembra che sostanzialmente si tratti di stabilire "su quale pagina
andare" quando "succede una certa cosa" ....
Scorpio.

 ha scritto:

Ciao Scorpio
Struts fa molto di più che stabilire la pagina di arrivo:
per prima cosa implementa il pattern MVC in modo stretto ossia 
c'è un Servlet Controller ( ActionServlet ) che intercetta la richiesta Http
( Request ), istanzia e riempie il Bean che contiene i dati di un eventuale
Form e passa il tutto alla classe che si occupa di gestire i dati. Tale
classe ritorna poi all'Action Servlet indicazione sulla pagina da mostrare.
Tutto passa per l'ActionServlet come MVC indica.
Inoltre visto che tutto passa per ActionServlet si possono centralizzare qui
i controlli per esempio sul fatto che un utente sia autenticato o no.
Inoltre si possono creare delle Classi Plugin da far partire quando parte
tomcat ( tipo le Servlet con il parametro load-startup in web.xml ).
Inoltre si possono definire nomi logici per le pagine 
e ci sono un sacco di Tag predefiniti in Struts che ti permettono di non
reinventare la ruota.
Insomma è un bell'aggeggio.
:O)
Inviato da 
www.mynewsgate.net


Ciao e grazie per la spiegazione.
In effetti sono stato molto ma molto superficiale... Posso farti una domanda
? Dovendo consigliare l'impiego di Struts o meno, tu quale criterio
adotteresti ? La mia è una domanda interessata perchè avendo già nel
progetto per il quale lavoro implementato il pattern MVC + un
FrontEndController, vorrei sapere se davvero è il caso di pensare seriamente
a struts o lasciare quel che già c'è (che peraltro funziona).
Mi sapresti anche dire qualcosa di JSF ?
Grazie e scusa....
Scorpio.

 ha scritto:

:O)
Ciao
Non sono un Guru di Struts, sto giusto terminando il mio primo progetto..
però posso dirti che, per progetti piccoli non vale la pena anzi può 
complicarti le cose. 
Il Tuo servletcontroller è un vero punto di centralizzazione che intercetta 
tutte le HTTPRequest e che reindirizza verso le pagine opportune.. oppure ci 
sono delle Servlet in cui rimandi direttamente a pagine JSP o ad altre Servelt ?
Il tuo ServletController è pieno di IF per rimandare alla pagina giusta ?
Hai creato una moltitudine di Bean per gestire i dati provenienti dai tuoi 
Form ?
Ti serve un modo per separare la validazione dei dati dalle classi che poi li 
usano ? Con la validazione ti occorre un modo pulito per restituire gli errori 
all'utente ( tipo: "manca la password".. oppure "data non valida" )
Hai fatto giochi tipo Variabili Hidden nei tuoi Form per conservare lo stato 
(nel senso che quando ritorni sul form vuoi mantenere i dati che avevi messo 
prima ) ?
Ti serve un modo per centralizzare del codice per ogni richiesta utente ( nel 
senso che hai ripetuto, per esempio, la validazione dell'utente in tutti i tuoi 
servlet ) ?
Ti occorre un sistema di Template per le tue pagine ?
Struts permette di fare agevolmente queste cose, però ti ripeto, per progettini 
ini ini il gioco non vale la candela.
Io ho iniziato con Struts più per curiosità, poi l'ho usato in un progetto 
medio e ora mi ci trovo bene. 
Però se dovessi fare 4 paginette con un paio di form senza tante pretese userei 
le servlet.
Per JSF non ho ancora affrontato l'argomento.
:O)
Inviato da 
www.mynewsgate.net

 Per JSF non ho ancora affrontato l'argomento.
Guarda, il progetto di cui mi occupo è un progettone - one -one :-)
ed ho fatto ricorso a quasi tutti i trucchi di cui sopra. Però nel mio caso
si tratta di un problema ulteriore: cioè quello che NON deve esserci alcun
refresh delle pagine, e quindi il refresh è gestito via hidden frames.
Struts consente di gestire anche questo problema ?
Scorpio.

Struts funziona veramente bene ma se qualcosa di più veloce e intuitivo
prova Struts-Xmoon
Puoi utilizzare vari linguaggi di script e oggetti dinamici per realizzare
velocemente applicazioni web
http://www.xmoon.org

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 sulla rete ma non so da dove iniziare. Qualche dritta?
Io ho cominciato dagli articoli di Mokabyte, anche se si riferiscono a una
versione non recente di Struts ti danno un'idea del framework:
http://www.mokabyte.it/2004/01/jstruts-1.htm
http://www.mokabyte.it/2004/02/jstruts-2.htm
http://www.mokabyte.it/2004/03/jstruts-3.htm
http://www.mokabyte.it/2004/04/jstruts-4.htm
http://www.mokabyte.it/2004/05/jstruts-5.htm
Poi sono passato a :
http://www.theserverside.com/books/sourcebeat/JakartaStrutsLive/index.tss
E' un libro discreto (è scaricabile gratuitamente previa registrazione al
sito theserverside).
In boccaal lupo!
Chicco
-- 
Potrete ingannare tutti per un pò,
potrete ingannare qualcuno per sempre,
ma non potrete ingannare tutti per sempre
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Scusami
che intendi per Refresh delle pagine ?
Il fatto di conservare lo stato dei cmapi di input ?
:O)
Inviato da 
www.mynewsgate.net

 Il fatto di conservare lo stato dei cmapi di input ?
Ciao,
si tratta non solo di preservare lo stato dei campi di input, che in effetti
è un primo problema, ma anche di nascondere completamente il refresh della
pagina, ossia il fatto -ovvio - che una pagina web per trasmettere i dati
deve eseguire il post verso il server... e questo comporta che, lato server,
vi sia una risposta che comporta il ricarimento della pagina con i "nuovi
valori".
Ora, quello che mi viene chiesto è di mascherare completamente questo
effetto in modo tale, ad esempio, che se l'utente è sulla pagina di
immissione di un ordine, quando seleziona un articolo da aggiungere
all'ordine esegue il post non della pagina, ma di un frame nascosto; la
servlet risponde a quel frame nascosto che rivalorizza tutti i campi, emette
degli alert di errore etc etc, con un opportuno metodo 'onload' generato via
jsp...
Il lavoro è complesso e tedioso, non lo nego. Il rapporto tra scrivere il
layer di businness e l'interfaccia web, in termini di tempo, è di 1:10
circa. Su questo ng un ragazzo, molto gentilmente, mi ha consigliato di
utilizzare un 'API che permette di inviare dati senza post via XML. L'idea è
interessante, ma quanto è standard ? Inoltre, non ho tempo di valutare
l'overhead del parsing dei messaggi XML.....
Magari sono rimasto alla preistoria, ma davvero non so come affrontare il
problema...
Scorpio.

 valori".
guarda, vado un po OT, io per questa cosa ho utilizzato JSRS, che puoi trovare qui
http://www.ashleyit.com/rs/
è un "componente" freeware Javascript veramente molto utile, anche se forse
all'inizio è un po rognoso da capire.
Ti spiego io per cosa l'ho utilizzato: Ho delle select dipendenti tra loro, ogni
volta che viene scelto un valore da una, vengono caricati i valori nelle altre
servlet automaticamente, senza refresh della pagina.
Puoi naturalmente fare anche il post dei dati senza refresh, come nel tuo
problema, è veramente molto utile.
Comunque per farti un'idea guarda questo esempio
http://www.ashleyit.com/rs/jsrs/select/php/select.php
ciao!
Inviato da 
www.mynewsgate.net

 problema, è veramente molto utile.
Ti ringrazio per il suggerimento, proverò a darci un'occhiata. Comunque non
vorrei dare l'idea di essere il gonzo che si vuole scrivere tutto da sè,
solo che apprendere bene i framework pregressi comporta un investimento non
da poco...

 da poco...
d'accordo con te, ma ho letto in una tua risposta precedente che impieghi molto
tempo per realizzare questi frame nascosti.
Allora tanto vale capire un componente del genere (che cmq è una stupidata usare
alla fine...è solo all'inizio capie un po' il funzionamento) e poi usarlo
tranquillamente dovunque ti serva, senza perdere tempo in frame nascosti ecc
Ovviamente è la mia opinione ;)
Inviato da 
www.mynewsgate.net

 ha scritto nel messaggio
news:200501210...@mynewsgate.net...

Che apprezzo, sinceramente...

 ha scritto:

Con Struts puoi agevolmente mantenere lo stato dei campi del form
nel senso che:
l'utente immette NOME,COGNOME,DATA NASCITA,INDIRIZZO..eccc
l'utente seleziona una combo box contenente una Provincia
la pagina si aggiorna creando una comboBox con tutti i comuni della provincia
scelta senza però perdere i dati precedentemente immessi.
Se l'utente preme il tasto di conferma del Form con Struts puoi mettere una
barriera tra i dati passati dal form e la loro gestione, nel senso che prima di
arrivare alla classe che gestisce i dati passano prima per una metodi di
Validazione di un'altra classe che gestisce il Form.
Se i dati non sono di tuo gradimento allora il controllo torna alla pagina 
di immissione dati ( con tutti i dati preservati per bene ) e puoi visualizzare
messaggi di errore tipo "Cognome vuoto... Data non Valida... selezionare un
Comune ).
Questo ti permette di usare i dati, una volta validati, senza preoccuparti della
loro consistenza.. ossia una volta validati i dati sono quelli buoni per essere
elaborati.
Ciao.
Inviato da 
www.mynewsgate.net


Ma tutto ciò risolve il problema che NON si deve vedere la pagina che si
ricarica ? da come l'hai scritto non direi.....

 ha scritto:

Non so perchè la tua applicazione vieta che l'utente veda il ri-caricamento
della pagina. 
In questo caso si vede il ri-caricamento.
Però 
come fai ad inviare un messaggio nella pagina caricata senza ricaricarla ?
Usi forse il Javascript oppure dei campi Input-Text gestiti dal Frame-Nascosto ?
Inviato da 
www.mynewsgate.net

 Usi forse il Javascript oppure dei campi Input-Text gestiti dal
Frame-Nascosto ?
Sì: uso un complesso (oddio...lo è per me!) sistema di funzioni che forzano
un frame nascosto ad inviare i dati al server, che li elabora, e risponde al
frame nascosto che con l'evento onLoad valorizza i campi del frame
principale.....
Scorpio.