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 :

[tiles] menu à droite et à gauche


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut [tiles] menu à droite et à gauche
    Bonjour,
    Je souhaite développer une page web avec des tiles struts. En fait, j'aimerais avoir un layout comme ça;

    -------Header--------

    Menu----Body---Menu

    -------Footer--------

    Je voudrais donc avoir 2 tiles menu à droite et à gauche du body.

    J'arrive à faire des layouts simple avec 1 header, 1 menu, 1 dody et 1 footer mais j'aimerais disposer de 2 menus. Je ne sais pas si c'est possible car mes recherches n'ont rien donné. Pouvez vous m'aider SVP?
    D'avance merci

  2. #2
    Expert confirmé

    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
    Par défaut
    Il suffit de définir le layout principal comme suit :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <definition name=".layout" path="/layout.jsp">
    	<put name="header" value="/header.jsp"/>
    	<put name="menu1" value="/menu1.jsp"/>
    	<put name="menu2" value="/menu2.jsp"/>
    	<put name="footer" value="/footer.jsp"/>
    </definition>
    et coder les tiles:insert correspondant dans la jsp layout.jsp.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Rebonjour,
    En essayant d'utiliser les tiles, j'ai l'erreur suivante :

    org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/struts/taglib/tiles/InsertTag


    Je travaille avec apache tomcat 6 et struts 1.3.8. Dans les jars de tomcat, je vois nulpart "org/apache/struts/taglib/tiles/InsertTag".
    Mais si je passe en struts 1.2.9, je n'ai pas ce problème (mais j'en ai d'autres). Savez-vous à quoi cela est dû? Incompatibilité entre tomcat 6 et struts 1.6.8 ?

    Je vous remercie d'avance!

  4. #4
    Expert confirmé

    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
    Par défaut
    As-tu copié le jar struts-tiles-1.3.8.jar dans ton projet ?

    Sinon, jette un oeil aux StrutsUpgradeNotes pour voir quelles modifications il faut apporter pour passer de Struts 1.2 à Struts 1.3.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    oui, tout à fait

  6. #6
    Expert confirmé

    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
    Par défaut
    As-tu effectué les modifications précisées dans les StrutsUpgradeNotes ?

    Sinon, attention à ne pas avoir les jars de Struts de versions différentes dans ton projet, ce qui pourrait aussi expliquer l'erreur NoClassDefFoundError.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Rebonjour,

    En essayant de bidouiller, j'ai réussi à m'attirer un prob plus important qui fait merder toute l'appli. Sur ma page d'accueil, j'ai un bean "login" qui génère l'erreur suivante au démarrage :

    org.apache.jasper.JasperException: An exception occurred processing JSP page /welcome.jsp at line 89

    86: style="padding-left: 5px; padding-top: 10px; padding-bottom: 10px; background: #00FF7F">
    87: <font color="blue"><html:errors property="username" /> <html:errors
    88: property="user" /> <html:errors property="userpass" /> <html:errors
    89: property="password" /> </font> <html:form action="login">
    90: <table border="0" cellpadding="4" bgcolor="navajowhite"
    91: rules="none" width="200px">
    92: <tr>



    Cela marchait y a encore 15 minutes, j'ai rien touché à la partie impliquée dans l'erreur, la ligne 89.

    Je vous poste les codes

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    package com.web.formBean;
     
    import com.web.dao.LoginDAO;
     
    @SuppressWarnings("unchecked")
    public class MyForm extends ActionForm{
     
    	private static final long serialVersionUID = 1L;
     
    	private Integer id;
    	private String username;
    	private String password;
     
    	private List list = new ArrayList();
    	private LoginDAO loginDao = new LoginDAO();
     
    	private static org.apache.log4j.Logger log = Logger.getLogger(MyForm.class);
     
     
    	public Integer getId() {
    		return id;
    	}
    	public void setId(Integer id) {
    		this.id = id;
    	}
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	public List getList() {
    		return list;
    	}
    	public void setList(List list) {
    		this.list = list;
    	}
    	public MyForm(){
    		super();
    	}	
    	public ActionErrors validate (ActionMapping mapping, HttpServletRequest request){
    		ActionErrors errors = new ActionErrors();
     
    		if(log.isDebugEnabled()){   
    			log.debug("username :"+getUsername());
    			log.debug("password :"+getPassword());
    		}
     
    		if ((getUsername() == null || getUsername().length() < 1) && 
    				((getPassword() == null || getPassword().length()<1))){
    			errors.add("username", new ActionMessage("error.userpass.required"));
    		}
     
    		else if (getUsername() == null || getUsername().length() < 1){
    			errors.add("username", new ActionMessage("error.username.required"));
    		}
    		else if (getPassword() == null || getPassword().length()<1){
    			errors.add("password", new ActionMessage("error.password.required"));			
    		}
     
    		list = loginDao.getUserLogPass(getUsername(), getPassword());
    		if(getUsername().length() > 0 && getPassword().length() >0 && list.isEmpty()){
    			errors.add("username", new ActionMessage("error.user.notfound"));
    			return errors;
    		}
    		else{
    			request.getSession().setAttribute("username", getUsername());
    			request.getSession().setAttribute("password", getPassword());
    		}
    		log.debug("Erreors : "+errors);	
    		return errors;		
    	}	
    }
    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
     
    package com.web.formAction;
     
    import com.web.formBean.MyForm;
     
    public class MyAction extends Action{
     
    	private static final String SUCCESS = "success";
     
    	public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest request,
    				HttpServletResponse response){
    		MyForm myForm = (MyForm) form;
    		HttpSession session = request.getSession();
     
    		if(isCancelled(request)){
    			return mapping.findForward("home");
    		}
    		/*if (myForm.getList().isEmpty())	{
    			ActionMessages messages = new ActionMessages();
    			messages.add("username", new ActionMessage("error.user.notfound"));
    			this.saveMessages(request, messages);
     
    	    return mapping.findForward(FAILURE);
    		}*/
    		session.setAttribute("username", myForm.getUsername());
    		session.setAttribute("password", myForm.getPassword());
     
    		return mapping.findForward(SUCCESS);
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form-bean name="userLogin" type="com.web.formBean.MyForm"></form-bean>
     
    <action path="/login" name="userLogin" input="/welcome.jsp" scope="request" 
    						cancellable="true" validate="true" type="com.web.formAction.MyAction">
    			<forward name="success" path="/pages/login/loginSuccess.jsp"/>
    		</action>
    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
     
    <html:form action="login">
    	<table border="0" cellpadding="4" bgcolor="navajowhite" rules="none" width="200px">
    	    <tr>
    		<td align="left">Username:</td>
    		<td><html:text property="username" size="18" /></td>
    	    </tr>
    	    <tr>
    		 <td align="left">Password:</td>
    		 <td><html:password property="password" size="18" /></td>
     
    	     </tr>
    	      <tr>
    		  <td colspan="2" align="center"><html:submit />&nbsp;&nbsp;&nbsp;<html:cancel /></td>
    	     </tr>
    </table>
    </html:form>
    AU SECOURS !!!!

  8. #8
    Expert confirmé

    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
    Par défaut
    N'y aurait-il pas un message d'erreur plus explicite dans la console par hasard ?

    Sinon, peux-tu montrer une copie d'écran de l'arborescence de ton appli avec une vision des jars ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Bonsoir c_navy et merci de ta réponse.

    en fait j'ai réglé le problème. Lors que j'ai remplacé les fichiers jar struts 1.3.8 par ceux de 1.2.9, j'avais par erreur effacé les fichiers jar d'hibernate du dossier "lib" de WEB-INF. Je les ai remis et ça remarche à présent.

    Merci encore et bonne soirée

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Bonjour,
    Je reviens à la charge car une question me tracasse. Quand on crée un projet web dynamique, il ne devrait pas y avoir un fichier .war ? Je travaille avec eclipse et tomcat 6 pour créer un projet struts et je ne vois ce fameux fichier null part, ni dans le projet eclipse, ni dans le répertoire tomcat. Est-ce normal?
    D'habitude, il est où, ce fichier?
    D'avance merci

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Le fichier war est généré quand tu exportes ton projet (à ce format).
    Il n'est pas présent dans le projet, ça n'a pas de sens.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Bonjour OButterlin et merci de ta précision.
    J'avais l'habitude de travailler avec netbeans et si ma mémoire et bonne, il crée automatiquement le fichier .war dans le répertoire "dist". Je croyais qu'eclipse le faisait également.
    Merci et bonne journée.

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

Discussions similaires

  1. Menu déroulant de gauche à droite et téléchargement
    Par solika dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 17/06/2013, 17h24
  2. [WD14] menu de droite a gauche(ARABE)
    Par sdou9a dans le forum WinDev
    Réponses: 8
    Dernier message: 26/09/2011, 14h13
  3. créer un menu droit et un menu gauche
    Par ferhat.adel dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 07/06/2011, 12h13
  4. [TILES] Menu et Body (ou content)
    Par satxfacti0n dans le forum Struts 1
    Réponses: 10
    Dernier message: 04/10/2005, 16h31

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