IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 2 Java Discussion :

[Projet] Création d'une FAQ Struts2 [FAQ]


Sujet :

Struts 2 Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 947
    Points
    72 947
    Par défaut [Projet] Création d'une FAQ Struts2
    La question est lancée.
    Afin de structurer nos petits pas et nos questions récurrentes.

    PPDL.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut Plugin eclipse pour struts2
    Je me permets de poster sur ce forum pour parler de mon projet
    Akrogen http://akrogen.sourceforge.net/fr/index.html, un plugin Eclipse de generation de code, car j'aimerai integrer un catalogue de template struts2.

    Avec Akrogen, vous pouvez decrire vos Wizard page Eclipse en XML/XUL.
    Je souhaiterais creer un catalogue de template struts2, si vous etes interesses pour m'aider, n'hesitez pas a me contacter.

    Merci de votre attention

    Angelo

  3. #3
    Membre actif Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Points : 231
    Points
    231
    Par défaut Tiles2 + Struts2
    La documentation étant un peu confuse, voici comment utiliser Tiles2 avec
    Versions :
    • Struts2 (2.0.7)
    • Tiles2 (2.0-20070207)

    struts.xml
    On doit définir le type de résultat associé à un Tiles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <package name="app" extends="struts-default">
    	<result-types>
            	<!-- Défini le type de résultat qui renvoie vers une définition Tiles -->
            	<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
    	</result-types>
            <!-- un exemple d action qui renvoie vers la definition tiles1.page -->
            <action name="tiles1">
            	<result type="tiles">tiles1.page</result>
            </action>
        </package>
    </struts>
    /WEB-INF/web.xml
    On doit définir en plus de la configuration de base pour une application Struts2
    un listener pour les Tiles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    ...
        <listener>
        	<listener-class>org.apache.tiles.listener.TilesListener</listener-class>
        </listener>
    ...
    </web-app>
    Il faut maintenant créer un fichier tiles.xml dans le répertoire /WEB-INF de la webapp. Ce fichier permet de centraliser les définitions
    des assemblages de pages.
    /WEB-INF/tiles.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE tiles-definitions PUBLIC
          "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
          "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
    <tiles-definitions>
    	<definition name="default" template="/WEB-INF/templates/default.jsp">
    		<put name="title" value="Default template page."/>
    	</definition>
    	<definition name="tiles1.page" extends="default">
    		<put name="title" value="Page de garde."/>
    		<put name="status">/WEB-INF/atoms/status.jsp</put>
    		<put name="head">/WEB-INF/atoms/head.jsp</put>
    		<put name="menu">/WEB-INF/atoms/menu.jsp</put>
    		<put name="main">/WEB-INF/atoms/main.jsp</put>
    		<put name="foot">/WEB-INF/atoms/foot.jsp</put>
    	</definition>
    	<definition name="login.page" extends="default">
    		<put name="title" value="Authentification."/>
    		<put name="status">/WEB-INF/atoms/status.jsp</put>
    		<put name="head">/WEB-INF/atoms/head.jsp</put>
    		<put name="menu">/WEB-INF/atoms/menu.jsp</put>
    		<put name="main">/WEB-INF/atoms/login.jsp</put>
    		<put name="foot">/WEB-INF/atoms/foot.jsp</put>
    	</definition>
    </tiles-definitions>
    Attention, contrairement à ce qui est montré sur le site de Tiles2, l'on doit utiliser les balises <put/> et non <put-attribute/>.
    Ce fichier déclare 3 définitions:
    • default sur la base de la JSP /WEB-INF/templates/default.jsp.
    • tiles1.page qui spécifie les fragments à assembler selon la définition default.
    • login.page qui spécifie les fragments à assembler selon la définition default.

    A vous la liberté de définir vos assemblages. Je vous conseille de faire un tour sur le site des Tiles pour voir toute a souplesse de Tiles2.

    La page de garde /WEB-INF/templates/default.jsp ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <%@ taglib prefix="s" uri="/struts-tags" 
    %><%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title><tiles:insertAttribute name="title"/></title>
    	<s:url id="cssApp" value="/css/app.css"/>
    	<link rel="stylesheet" type="text/css" href="${cssApp}">
    	<s:head theme="ajax"/>    
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">
      </head>
      <body>
    	<tiles:insertAttribute name="status"/>
    	<tiles:insertAttribute name="head"/>
    	<tiles:insertAttribute name="menu"/>
    	<tiles:insertAttribute name="main"/>
    	<tiles:insertAttribute name="foot"/>
      </body>
    </html>
    Les fragments de pages associés aux attributs dans le fichier tiles.xml sont alors assemblés selon le template.

    Il est important d'ajouter les taglibs Struts2 et Tiles2 à tous les fragments !! comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ taglib prefix="s" uri="/struts-tags" 
    %><%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"
    %><div class="head">
    APP
    </div>
    Voilà.

    Si ces informations ne sont pas assez claire, veuillez apporter vos critiques SVP.

    Merci.

    PPDL.

  4. #4
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut Struts 2 and AJAX tables
    Bonjour,
    sur le forum de struts, il y a une personne qui a redigé un article concernant Struts 2 and AJAX tables.

    Angelo

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Citation Envoyé par azerr Voir le message
    Bonjour,
    sur le forum de struts, il y a une personne qui a redigé un article concernant Struts 2 and AJAX tables.

    Angelo
    Si quelqu'un souhaite le traduire et en obtient l'autorisation, Developpez se fera un plaisir de l'héberger

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Comment initier un projet struts2 en 5 minutes avec Maven2
    Tout d'abord il faut télécharger Maven2, rajouter le repertoire bin à votre PATH puis ouvrir une ligne de commande et y taper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mvn archetype:create -DgroupId=com.test.struts2
    -DartifactId=Struts2Test -DarchetypeGroupId=org.apache.struts
    -DarchetypeArtifactId=struts2-archetype-starter
    -DarchetypeVersion=2.0.9-SNAPSHOT
    -DremoteRepositories=http://people.apache.org/maven-snapshot-repository
    Puis en tapant les lignes de commandes suivante vous démarer l'application sur le port 8888

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd Struts2Test
    mvn -Djetty.port=8888 jetty:run
    Il n'y a plus qu'à aller jeter un oeil sur notre Hello World à l'adresse: http://localhost:8888/Struts2Test

    Et le tour est joué !!

    Vous pourrez jeter un oeil sur le code de cette application, vous y trouverez entre autre l'utilisation de sitemesh qui est un framework de gestion de layout. Loïc Mathieu a réaliser une introduction sur le sujet sur developper.com pour ceux qui veulent en savoir plus.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Plugin eclipse pour struts2
    Bonjour à tous.

    J'ai récemment releasé un plugin eclipse pour Struts2 sur sourceforge:

    http://mvcwebproject.sourceforge.net/

    Le plugin est plus générique et ne se limite théoriquement pas à Struts2: l'idée est de faire un plugin générique pour Struts2, Struts1 et éventuellement d'autres frameworks similaires.

    La version 0.1.0 ne fonctionne que sur Eclipse 3.3 (bug sur la 3.2). Elle n'est pas encore complète (loin de là !) mais elle permet déjà de faire des choses intéressantes.

    Je pense bientôt releaser une version plus complète (qui devrait permettre de mieux gérer les packages struts2, les actions par défaut, exceptions...).

    Le plugin est documenté avec un tutorial assez complet. De même, pour les amateurs, le plugin dispose d'une doc destinée aux développeurs qui veulent l'améliorer...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 38
    Points
    38
    Par défaut Tiles2 + Struts2 (correctif)
    Citation Envoyé par petitpasdelune Voir le message
    Il faut maintenant créer un fichier tiles.xml dans le répertoire /WEB-INF de la webapp. Ce fichier permet de centraliser les définitions
    des assemblages de pages.
    /WEB-INF/tiles.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE tiles-definitions PUBLIC
          "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
          "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
    <tiles-definitions>
    	<definition name="default" template="/WEB-INF/templates/default.jsp">
    		<put name="title" value="Default template page."/>
    	</definition>
    	<definition name="tiles1.page" extends="default">
    		<put name="title" value="Page de garde."/>
    		<put name="status">/WEB-INF/atoms/status.jsp</put>
    		<put name="head">/WEB-INF/atoms/head.jsp</put>
    		<put name="menu">/WEB-INF/atoms/menu.jsp</put>
    		<put name="main">/WEB-INF/atoms/main.jsp</put>
    		<put name="foot">/WEB-INF/atoms/foot.jsp</put>
    	</definition>
    	<definition name="login.page" extends="default">
    		<put name="title" value="Authentification."/>
    		<put name="status">/WEB-INF/atoms/status.jsp</put>
    		<put name="head">/WEB-INF/atoms/head.jsp</put>
    		<put name="menu">/WEB-INF/atoms/menu.jsp</put>
    		<put name="main">/WEB-INF/atoms/login.jsp</put>
    		<put name="foot">/WEB-INF/atoms/foot.jsp</put>
    	</definition>
    </tiles-definitions>
    Attention, contrairement à ce qui est montré sur le site de Tiles2, l'on doit utiliser les balises <put/> et non <put-attribute/>.
    PPDL.
    Si vous avez l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    10:38:20,618 INFO  [STDOUT] 19-06-2008 10:38:20:618 640308 ERROR org.apache.tiles.jsp.taglib.RoleSecurityTagSupport  - Error executing tag: Attribute 'xxxx' not found.
    org.apache.tiles.TilesException: Attribute 'xxxx' not found.
    	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:112)
    	at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
    	at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
    	at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
    	at org.apache.jsp.WEB_002dINF.pages.templates.default_jsp._jspx_meth_tiles_005finsertAttribute_005f0(default_jsp.java:180)
    	at org.apache.jsp.WEB_002dINF.pages.templates.default_jsp._jspService(default_jsp.java:109)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)

    Utiliser alors <put-attribute/> et non <put> !!!!

Discussions similaires

  1. [Projet] Création d'une FAQ Struts-Layout
    Par Mickael Baron dans le forum Struts 1
    Réponses: 0
    Dernier message: 20/07/2008, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo