Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Struts : je comprends pas

7 réponses
Avatar
Zouplaz
Bonjour, j'ai vraiment du mal à comprendre la logique de struts malgré
quelques lectures et beaucoup d'heures perdues à patauger.

Ce que j'ai du mal à comprendre c'est s'il est possible de proposer les
deux fonctions classiques "Créer enregistrement" et "Modifier enr" avec
seulement 3 éléments :

- un template (jsp), la vue donc
- une classe Action
- une classe ActionForm

Y a rien à faire, dans les exemples que je trouve il y a toujours plusieurs
classes Action : une pour recupérer les données du SGBD et une pour mettre
à jour l'objet après le post du formulaire

Y a pas moyen de faire avec une seule classe ? Où alors j'ai rien compris
(ce qui est probable)

7 réponses

Avatar
Paul
Si ca peux t'aider, jette quand même un coup d'oeil sur la F.A.Q Struts :
http://java.developpez.com/faq/struts/
Avatar
jeje900ss
Zouplaz wrote:
Bonjour,


Bonjour


Ce que j'ai du mal à comprendre c'est s'il est possible de proposer les
deux fonctions classiques "Créer enregistrement" et "Modifier enr" avec
seulement 3 éléments :

- un template (jsp), la vue donc
- une classe Action
- une classe ActionForm

Y a rien à faire, dans les exemples que je trouve il y a toujours plusieurs
classes Action : une pour recupérer les données du SGBD et une pour mettre
à jour l'objet après le post du formulaire


Y a pas moyen de faire avec une seule classe ? Où alors j'ai rien
compris
(ce qui est probable)



Il est vrai que de manière générale je fais 2 classes Action.
Une pour préparer ma Form (éventuellement en récupérent les données dans
une SGBD) et une 2ième pour enregistrer/valider ma form.

Maintenant rien t'empèche de n'en faire qu'une seule.
Dans l'action tu récupère la form de la session par exemple, et si c'est
null alors tu la prépare. Sinon, c'est qu'il faut enregistrer/modifier
donc t'enregistre la form (et n'oublie pas de la supprimer de la session).

Enfin moi je trouve ça plus crade.

Une autre solution est de se mettre au JSF ;-)

Avatar
Zouplaz
jeje900ss wrote in
news:4340f524$0$1737$:


Il est vrai que de manière générale je fais 2 classes Action.
Une pour préparer ma Form (éventuellement en récupérent les données
dans une SGBD) et une 2ième pour enregistrer/valider ma form.

Maintenant rien t'empèche de n'en faire qu'une seule.
Dans l'action tu récupère la form de la session par exemple, et si
c'est null alors tu la prépare. Sinon, c'est qu'il faut
enregistrer/modifier donc t'enregistre la form (et n'oublie pas de la
supprimer de la session).

Enfin moi je trouve ça plus crade.


Tiens ? Moi c'est la multiplication des classes qui m'ennuie... Je vais
essayer quand même.


Une autre solution est de se mettre au JSF ;-)



Pourquoi pas mais Struts m'interesse pour les débouchés potentiels (c'est
le seul framework utilisé dans l'une des rares SSI du coin) mais aussi
parce que j'ai pu l'interfacer avec FreeMarker (langage de template, l'idée
de faire des JSP me déplait vraiment) - Et je ne sais pas s'il est possible
d'interfacer FreeMarker avec les JSF (à priori pourquoi pas, y a pas de
raison)


A propos, quels avantages essentiels ont les JSF par rapport à Struts ? Ou
quels inconvénients majeurs ?


Merci pour ta réponse

Avatar
Lionel
Zouplaz wrote:
Ce que j'ai du mal à comprendre c'est s'il est possible de proposer
les deux fonctions classiques "Créer enregistrement" et "Modifier
enr" avec seulement 3 éléments :
- un template (jsp), la vue donc
- une classe Action
- une classe ActionForm

Y a pas moyen de faire avec une seule classe ? Où alors j'ai rien
compris (ce qui est probable)


Aucune difficulté:
http://struts.apache.org/api/org/apache/struts/actions/DispatchAction.html

Avatar
Zouplaz
"Lionel" <SPAMcoollATfreePOINTfr> wrote in
news:43410382$0$11745$:

Zouplaz wrote:
Ce que j'ai du mal à comprendre c'est s'il est possible de proposer
les deux fonctions classiques "Créer enregistrement" et "Modifier
enr" avec seulement 3 éléments :
- un template (jsp), la vue donc
- une classe Action
- une classe ActionForm

Y a pas moyen de faire avec une seule classe ? Où alors j'ai rien
compris (ce qui est probable)


Aucune difficulté:
http://struts.apache.org/api/org/apache/struts/actions/DispatchAction.h
tml





Merci ! Du coup en fouinant à côté j'ai trouvé MappingDispatchAction et ça
correspond parfaitement à ce que je cherchais...


Avatar
jeje900ss

Maintenant rien t'empèche de n'en faire qu'une seule.
Dans l'action tu récupère la form de la session par exemple, et si
c'est null alors tu la prépare. Sinon, c'est qu'il faut
enregistrer/modifier donc t'enregistre la form (et n'oublie pas de la
supprimer de la session).

Enfin moi je trouve ça plus crade.



Tiens ? Moi c'est la multiplication des classes qui m'ennuie... Je vais
essayer quand même.


Amha, le plus dure c'est de trouver le juste milieu, car il m'arrive
d'utiliser qu'une classe desfois.



Une autre solution est de se mettre au JSF ;-)




Pourquoi pas mais Struts m'interesse pour les débouchés potentiels (c'est
le seul framework utilisé dans l'une des rares SSI du coin) mais aussi
parce que j'ai pu l'interfacer avec FreeMarker (langage de template, l'idée
de faire des JSP me déplait vraiment) - Et je ne sais pas s'il est possible
d'interfacer FreeMarker avec les JSF (à priori pourquoi pas, y a pas de
raison)


Avec les jsf, y'a déjà les tags avec les forms toutes faites.


A propos, quels avantages essentiels ont les JSF par rapport à Struts ? Ou
quels inconvénients majeurs ?


Je viens à peine de me lancer dans le JSF donc je ne pourrai pas te
répondre vraiment. Il existe plein d'articles sur le sujet sur le net.
J'apprécie beaucoup l'emploi des faces, et le fait d'associé directement
les actions, evenements. JSF est plus facile à apréhender que Struts
aussi je trouve. Je trouve struts assez lourd à utilisez au bout du compte.
En tout cas on ne retrouve pas l'aspect, Action pour préparer sa form,
puis ACtion pour le traitement dans JSF.

Sinon comme on t'a répondu, le DispachAction est souvent utile. Par
exemple j'ai un Action avec un delete, un modify, un display.

Bon courage


Avatar
pere.noel
Zouplaz wrote:

FreeMarker


merci pour cette info, j'essaie FrameMaker 7 aprems'

c koitesse JSF ?
--
une bévue