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 1 Java Discussion :

[Struts-Layout] Problème avec Layout Suggest


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [Struts-Layout] Problème avec Layout Suggest
    Bonjour tout le monde,
    J'ai tout essayé avec Layout Suggest, j'ai suivi les tutoriels disponibles et les solutions proposées sur cet espace forum même, mais rien ne semble marcher.
    Mon problème c'est que ça ne rentre pas dans l'action correspondante (suggestAction).
    Merci

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Sans code, on va avoir dû mal à t'aider.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Okay, alors voilà mon code jsp:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
    <%@ page contentType="text/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <tiles:insert page="/layout.jsp" flush="true">
    <tiles:put name="title" type="string" value="CBI Pyramide" />
    <tiles:put name="header" value="/header.jsp" />
    <tiles:put name="content" value="/loginSuccessful.jsp"/>
    </tiles:insert>
    <html>
         <head>
             <layout:skin includeScript="true"/>
            <title>CBI Pyramide</title>
        </head>
        <body><center>
        <h1>  Ajouter Commande  </h1>
        <html:form action="ajouterCommande.do" >
                    Division:<br><INPUT TYPE=TEXT NAME="div" /><br><br>
                    No Piece:<br><INPUT TYPE="TEXT" NAME="n_pieces" /><br><br>
                    T.Pr.: <br><INPUT TYPE="TEXT" NAME="t_pr" /><br><br>
                    Ref Externe:<br> <INPUT TYPE="TEXT" NAME="ref_externe" /><br><br>
                    Date: <br><INPUT TYPE="TEXT" NAME="date" /><br><br>
                    <layout:suggest key="Fournisseur" suggestAction="getFournisseurSuggestions.do" styleId= "fournisseur" property="fournisseur"/>
                    Devise:<br><INPUT TYPE="TEXT" NAME="devise" /><br><br>
                    Projet: <br><INPUT TYPE="TEXT" NAME="projet" /><br><br>
                    Transport:<br><INPUT TYPE="TEXT" NAME="transport" /><br><br>
                    M. pai:<br><INPUT TYPE="TEXT" NAME="m_pai" /><br><br>
                    Date Confirmation:<br> <INPUT TYPE="date_confirmation" NAME="password" /><br><br>
                    Date Prév. Réception:<br><INPUT TYPE="TEXT" NAME="date_p_reception" /><br><br>
                    Client:<br><INPUT TYPE="TEXT" NAME="client" /><br><br>
                    <input type="submit" value="Valider"/>
            <html:errors />
        </html:form>
        </center>
        </body>
    </html>
    Partie de la SuggestAction:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package control;
     
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    import javax.servlet.http.HttpServletRequest;
    import fr.improve.struts.taglib.layout.suggest.SuggestAction;
     
     
    public class FournisseurSuggestAction extends SuggestAction {
     
    	public Collection getSuggestionList(HttpServletRequest in_request, String in_word) {
    		Collection allFournisseurs = FournisseurCollection.getAllFournisseurs();
     
    		// Start to build the suggestions list
    		ArrayList suggestions = new ArrayList();
     
    		if (in_word != null && in_word.length() > 0)
    		{
    			Iterator iter = allFournisseurs.iterator();
     
    			while(iter.hasNext())
    			{
    				String currentWord = (String) iter.next();
     
    				if(currentWord.toLowerCase().startsWith(in_word.toLowerCase()))
    					suggestions.add(currentWord);
    			}
    		}
     
    		return suggestions;
    	}
    }
    Ca prend les valeurs de la liste sur FournisseurCollection class, mais bon pour l'instant il arrive même pas à l'action.
    Sinon, voilà la partie struts-config que j'ai essayé de configurer pour struts-layout (j'ai aussi crée le fichier struts layout default (properties) et mis le jar file de struts-layout dans WEB-INF/lib):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <action path="/getFournisseurSuggestions" scope="session" type="control.FournisseurSuggestAction"/>
            <action input="/ajouterCommande.jsp" name="ajouterCommandeForm" path="/ajouterCommande" scope="session" type="control.ajouterCommandeAction"/>
            <action input="/modifierCommande.jsp" name="modifierCommandeForm" path="/modifierCommande" scope="session" type="control.modifierCommandeAction"/>
            <action path="/Welcome" forward="/welcomeStruts.jsp"/>
            <action path="/sort" type="fr.improve.struts.taglib.layout.sort.SortAction" scope="request" validate="false"> </action>
            <action path="/treeview" type="fr.improve.struts.taglib.layout.treeview.TreeviewAction" scope="request" validate="false"> </action>
        </action-mappings>
     
        <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
        <controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor"/>
    J'ai essayé de faire des tests pour voir si le code de jsp a accès au dossiers config et images de struts-layout, mais c'est pas le cas. Pourtant, ils sont sur le root folder de ma web application! Je crois que ça a une relation avec mon problème, mais je vois toujours pas la solution.

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Alors, déjà, tu ne dois déclarer qu'un seul controller dans le struts-config.xml, soit le LayoutRequestProcessor, qui te permet d'utiliser Struts-Layout et les tiles, comme il est écrit dans les instructions d'installation.

    Il faut donc supprimer la balise suivante du struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
        <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
    Ensuite, pour que Struts-Layout trouve les répertoires config et images qui doivent être à la racine du projet, il faut créer un fichier Struts-Layout_default.properties dans le répertoire des sources qui contient ceci :
    directory.config = config
    directory.images = images
    Et enfin, dans la jsp, code plutôt le layout:suggest comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <layout:suggest key="Fournisseur" suggestAction="/getFournisseurSuggestions" styleId= "fournisseur" property="fournisseur"/>
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    J'ai suivi ces instructions, mais j'ai toujours le même problèmes. Il semble que cette partie de code n'arrive pas à accéder aux dossiers config et images. Je les ai mis dans WEB_INF/classes, je travaille sur Netbeans, je ne sais pas si ça peut avoir une relation avec ce problème.
    Merci pour votre temps.

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il ne faut pas mettre les répertoires config et images sous WEB-INF/classes mais à la racine du projet.
    Et sinon, vérifie que le fichier Struts-Layout_default.properties que tu as mis à la racine des sources est bien sous WEB-INF/classes.

    Si tu ne t'en sors pas, poste l'arborescence de ton projet.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    D'accord, donc voilà config et images à la racine du projet, j'ai accès à ces dossiers maintenant, mais ça ne marche toujours pas.
    Images attachées Images attachées   

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Déplace les répertoires config et images sous le répertoire web.
    Modératrice Java - Struts, Servlets/JSP, ...

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    C'est ce que j'ai fait hier et ça a marché
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts-Layout] problème avec layout :number
    Par john_wili dans le forum Struts 1
    Réponses: 0
    Dernier message: 10/02/2009, 17h40
  2. [Struts-Layout] problème avec <layout:swap>
    Par john_wili dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/11/2008, 00h21
  3. [Struts-Layout] problème avec layout:link
    Par tomy29 dans le forum Struts 1
    Réponses: 10
    Dernier message: 17/07/2008, 15h17
  4. [Struts-Layout] problème avec layout:collection
    Par khayri dans le forum Struts 1
    Réponses: 4
    Dernier message: 31/05/2007, 13h28
  5. [Struts-Layout] problème avec layout:datagrid
    Par khayri dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/04/2007, 09h31

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