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

Taglibs Java Discussion :

Taglibs et javaScript [JSTL]


Sujet :

Taglibs Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut Taglibs et javaScript
    Bonjour j'ai un petit soucis avec les tags....

    dans une jsp voilà ce que je déclare:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:set var="divInscription" value="${elem.partdiv.inscription}"/>
    <c:set var="divLogin" value="${elem.partdiv.login}"/>
    elem.partdiv.inscription et elem.partdiv.login sont récupéré depuis mon fichier de properties là je crois qu'il n'y aucun problème.

    dans le suivit de ma jsp j'aimerais faire quelque chose dans ce genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html:link href="javascript:DivStatus(' ${divLogin}' )">
    <bean:message key="label.login"/>&nbsp;&nbsp;
    </html:link>
    <html:link href="javascript:DivStatus(' ${divInscription}' )">
    <bean:message key="label.inscription" />
    </html:link>
    dans ma fonction de javaScrip j'aurais voulu passer les variables que j'ai déclaré en haut de la page....


    si je fais de façon simple là aucun problème c'est à dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html:link href="javascript:DivStatus ( 'divLogin' )">
    <bean:message key="label.login"/>&nbsp;&nbsp;
    </html:link>
    <html:link href="javascript:DivStatus( 'divInscription' )">
    <bean:message key="label.inscription" />
    </html:link>

    Merci d'avance.

  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
    Cela devrait fonctionner sans aucun problème.

    Peux-tu montrer le début de ton web.xml et préciser quelle version de la JSTL tu utilises ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    J'ai honte je cherche en ce moment même comment configuré mon fichier web.xml...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    		 version="2.4" 
    		 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    je ne pense pas avoir ici référence aux JSTL.....

    Je récupère directe sur le site de cette façon :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

    dans la ligne que j'avais posté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set var="divLogin" value="${elem.partdiv.login}"/>
    si j'appuie sur c:set j'arrive sur le fichier c.tld....


    Il est vrai que je n'ai rajouter aucune bibliothèque pour cette effet là...

  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
    Tu n'as rien à référencer concernant la JSTL dans le web.xml.
    Je voulais juste m'assurer qu'il était bien défini en J2EE 1.4 (Servlet 2.4/JSP 2.0).

  5. #5
    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
    Mais quand tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link href="javascript:DivStatus(' ${divLogin}' )">
    L'EL ${divLogin} n'est pas interprétée ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Oui c'est exacte

  7. #7
    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
    Cela fonctionne-t'il mieux si tu ajoutes ceci au début de la page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page isELIgnored="false" %>

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    je viens de faire une expérience....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <c:set var="y" value="divLogin"></c:set>
    	   <c:out value="${y}"></c:out><br>
    		<c:out value="${divLogin}"></c:out><br>
    		<c:out value="${y}"></c:out><br>
    		   <c:if test="${y == divLogin || x=='bb'}">
    			x est égal à aa
    		 </c:if>
    je pense que j'ai un problème:

    <c:set var="divLogin" value="${elem.partdiv.login}"/>

    je ne parviens surement pas a récupérer la key elem.partdiv.login


    le résulta est que je n'ai que deux foi la divLogin imprimé.

    dans mon fichier properties de struts j'ai bien

    elem.partdiv.login=divLogin

  9. #9
    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
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		   <c:if test="${y eq divLogin || x eq 'bb'}">
    As-tu vu ma réponse précédente concernant isELIgnored ?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    J'essaie aussi....tout de suite

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page isELIgnored="false" %>
    j'ai tenté mais rien

    quel est l'objectif de cette ligne de code?

  12. #12
    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
    Juste lui dire de ne pas ignorer les EL présentes dans la page jsp.
    C'était éventuellement une piste bien que de mon côté, je n'ai pas besoin de coder cette directive pour que les EL soient interpretées.

    Si tu codes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:out value="${elem.partdiv.login}"/>
    la bonne valeur s'affiche-t'elle bien dans la page ?

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Je m'excuse pour cette exemple mais....


    alors j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lalala<c:out value="${elem.partdiv.login}"/>lololol
    et dans la jsp je vois lalalaololol.....

  14. #14
    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
    Donc, elem.partdiv.login n'existe pas.
    elem est-il un objet présent dans le scope ou est-ce une propriété d'un form-bean ?
    Peux-tu montrer le code complet de la jsp ?

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ page isELIgnored="false" %>
    <%@ include file="/comun.jsp"%>
    <%@ page import="com.commun.Const"%> 
    <%@ taglib tagdir="/WEB-INF/tags" prefix="tag" %>
     
    <c:set var="divInscription" value="${elem.partdiv.inscription}"/>
    <c:set var="divLogin" value="${elem.partdiv.login}"/>
     
     
    <html> 	
    	<head>
    	</head>
    	<body onLoad="init()">
     
    	<div id="page">
     
    			<div id="header">
    			</div>
     
    			<div id="menulinks"><a class="active" href="#"><span><bean:message key="label.debut"/></span></a>
    				<div class="menulines"></div>
    				<a href="#"><span><bean:message key="label.services"/></span></a>
    				<div class="menulines"></div>
    				<a href="#"><span><bean:message key="label.autre"/></span></a>
    				<div class="menulines"></div>
    				<a href="#"><span><bean:message key="label.contacter"/></span></a>
    				<div class="menulines"></div>
    			</div>
     
    			<div id="mainarea">
    				<div id="contentarea">
    					<h2><bean:message key="label.bienvenu"/></h2>
    					<div class="content">
    						<br />
    						<br />
    					</div>
    					<h2>WHAT WE DO?</h2>
    					<div class="content">
    						<br />
    						<div class="montreDivInscription" name="divInscription" id="divInscription">
    							<div>oasldasd</div>
    						</div>
     
    				<!--<logic:present name="<%=org.apache.struts.Globals.ERROR_KEY%>">
    					<html:erreur.exception/>
    				</logic:present>-->
    				<br/>
    				<logic:messagesPresent property="<%=Const.SAVE_ERREUR_UTILISATEUR_INEXISTANT%>">
    					<html:erreur.exception property="<%=Const.SAVE_ERREUR_UTILISATEUR_INEXISTANT%>"/>
    				</logic:messagesPresent>
     
     
    						<br/>
    				<c:set var="y" value="divLogin"></c:set>
    					<c:out value="${y}"></c:out><br>
    					<c:out value="${divLogin}"></c:out><br>
    					<c:out value="${y}"></c:out><br>
    						<c:if test="${y eq divLogin || x eq 'bb'}">
    							x est égal à aa
    						</c:if>
    						lalala<c:out value="${elem.partdiv.login}"/>lololol
    				</div>
    			</div>
    			<!-- Cette partie représente la division pour le login -->
    			<div id="sidebar">
    				<div class="login">
    					<div align="center">
    						<html:link href="javascript:DivStatus('divLogin')">
    							<bean:message key="label.login"/>&nbsp;&nbsp;
    						</html:link>
    						<html:link href="javascript:DivStatus('divInscription')">
    							<bean:message key="label.inscription" />
    						</html:link>
    					</div>
    					<br/>
    					<div class="montreDivInscription" id="divLogin">
    						<html:form styleId="Login"  action="login" method="post" onsubmit="return valider(this);">
    						<h3 align="center"><bean:message key="label.login.titre" /></h3>
    							<table bgcolor="#cccddd" border="0" align="center">
    								<tr>
    									<td>
    										<b><bean:message key="label.nom"/></b>
    									</td>
    									<logic:messagesPresent property="utilisateur">
    										<td style="background-color: #660000;">
    											<html:text  property="utilisateur" errorStyle="color:red;" name="loginForm">*&nbsp:</html:text>
    										</td>
    										<!-- Si l'on veut changer la textBox de couleur par java Script -->
    										<!--<script>changeColor();</script>-->
    		    						</logic:messagesPresent>
    									<logic:messagesNotPresent property="utilisateur">
    										<td>
    											<html:text  styleId="utilisateur" property="utilisateur" name="loginForm">*&nbsp:</html:text>
    										</td>
    									</logic:messagesNotPresent>
    								</tr>
    								<tr>
    									<td>
    										<b><bean:message key="label.password" /></b>
    									</td>
    									<td>
    										<html:password  styleId="password" property="password" name="loginForm">*&nsbp:</html:password>
    									</td>
    								</tr>
    							</table>
    							<br>
    							<table  align="center">
    							<tr>
    								<td>
    									<div class="buttonIOP">
    		 								<tag:buttonSoumettre height="26" 
    		 													 messageKey="label.envoyer"
    															 titleKey="label.envoyer"
    															 nameForm="Login"
    															 page="/login.do"/>
    									</div>
    								</td>
    								<td>	
    									<div class="buttonIOP">
    		 								<tag:ButtonReset height="26" 
    		 												 messageKey="label.effacer"
    														 titleKey="label.effacer"
    														 page="/login"/>
    									</div>
    								</td>
     
     
    							</tr>
    						</table>
    				</html:form>
    				<logic:messagesPresent property="<%=Const.SAVE_ERREUR_UTILISATEUR_INEXISTANT%>">			
    					<h4>					
    						<bean:message key="erreur.login"/></b>
    					</h4>		
    				</logic:messagesPresent>
    			</div> <!-- Fin de la boîte pour le login   -->
    		</div>
    		<div class="content">
    			<div class="newsdate">12/02/2008</div>
    			Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
    			dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    			proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    			<br />
    			<br />
    			<div class="newsdate">12/02/2008</div>
    			Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
    			dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    			proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    			</div>
    			<div class="sidebarheader">TESTIMONIALS</div>
    			<div class="content">Lorem ipsum dolor sit amet, consectetur
    			adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
    			magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
    			laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    			in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
    			pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
    			qui officia deserunt mollit anim id est laborum. 
    			<br />
    			<strong>Joe Bloggs</strong><br />
    			<br />
    			Loboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    			in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
    			pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
    			qui officia deserunt mollit anim id est laborum.
     			<br />
    			<strong>Joe Bloggs</strong></div>
    		</div>
    	</div>
    	<div id="footer">
    		<div id="footerleft">c 2008. All Rights Reserved.</div>
    		<div id="footerright">Designed by <a href="http://www.free-css-templates.com/">Free CSS Templates</a>,Thanks to <a href="http://www.dubaiapartments.biz/villas/"
    			title="Dubai Apartments offers quality furnished hotel apartments, villas, and furnished properties on short term rental basis"
    			target="_blank">Dubai Villas</a></div>
    	</div>
    	<dir>
    	</dir>
    </div>
    </body>
    </html>

  16. #16
    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
    Comme tu fais référence à cet objet elem au tout début de la jsp, je renouvelle ma question :
    Citation Envoyé par c_nvy Voir le message
    elem est-il un objet présent dans le scope ou est-ce une propriété d'un form-bean ?

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elem.partdiv.inscription
    et un message présent dans le fichier properties qui est définit dans le fichier struts-config.xml...

    je pensais que en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set var="divLogin" value="${elem.partdiv.login}"/>
    j'allais chercher l'information présente dans le fichier....


    contenu du fichier properties

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elem.partdiv.login=divLogin

  18. #18
    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
    Quand tu codes l'EL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ${elem.partdiv.inscription}
    ça va chercher un objet qui s'appelle elem dans le scope.
    En aucun cas, cela va chercher un message présent dans le fichier properties.

    Pour accèder à la clé elem.partdiv.inscription définie dans le fichier properties, tu dois soit utiliser le tag bean:message de Struts, soit le tag fmt:message de la JSTL.

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Je vais tester ça....

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <bean:define id="varDivLogin">
    	<bean:message key="inc.partdiv.login"/>
    </bean:define>
     
    <bean:define id="varDivInscription">
    	<bean:message key="inc.partdiv.inscription"/>
    </bean:define>
    Merci c'est régler

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

Discussions similaires

  1. taglib et javascript
    Par felix79 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/06/2009, 14h27
  2. JSControlsTags, taglib pour controles javascript
    Par azerr dans le forum Taglibs
    Réponses: 33
    Dernier message: 25/02/2009, 11h26
  3. javascript et taglib
    Par Space23 dans le forum Taglibs
    Réponses: 9
    Dernier message: 28/09/2008, 13h21
  4. Conflit javascript taglib ?
    Par Esil2008 dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 20/07/2007, 18h19
  5. [Taglib / JSP / Javascript] Liste imbriquées
    Par Resyek dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/05/2006, 21h26

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