Bonjour, je voudrais savoir si l'on pouvait utiliser tiles et struts layout ensemble, car il me semble que cela pose problème dans mon application. Merci a vous
Bonjour, je voudrais savoir si l'on pouvait utiliser tiles et struts layout ensemble, car il me semble que cela pose problème dans mon application. Merci a vous
Salut,
Tiles et Struts-Layout sont tout à fait compatibles.
As-tu défini le contrôleur suivant dans struts-config.xml ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor"/>
Modératrice Java - Struts, Servlets/JSP, ...
Non mais je vais le faire, merci encore pour la qualité et la rapidité de tes réponses .
Une autre question relative a un autre poste, sais tu si il est possible d'inclure la balise <frameset> suivit de <html:frame> a l'intérieur d'un tag struts-layout <layout:tab>
Merci encore a toi.
De rien.Envoyé par david06600
J'ai vu ton autre post mais je n'y ai pas répondu parce qu'en fait, je ne sais pas si c'est possible. Je n'ai jamais expérimenté ce genre de choses.Envoyé par david06600
D'ailleurs, je n'utilise plus les frameset.
Tiles ne convient pas dans ce cas-là ?
Modératrice Java - Struts, Servlets/JSP, ...
C'est que j'avais tenté en premier mais commej'avais des problèmes du a tiles et struts layout, mais bon je n'avais pas bien configurer struts-config.xml, je vais réessayer maintenant avec tiles.
Merci
Bonjour, j'ai quand même des problèmes en utilisant les 2 librairies de tags, voici mon code :
tiles-defs =>
tabsLayout.jsp =>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <tiles-definitions> <definition name="tab.view" path="/layouts/tabsLayout.jsp"> <put name="title" value="/title.jsp" /> <put name="maintabs" value="/maintabs.jsp" /> </definition> </tiles-definitions
title.jsp => pour l'instant il n'y a rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %> <layout:column width="100%"> <layout:row><tiles:insert attribute="title" /></layout:row> <layout:row><tiles:insert attribute="maintabs" /></layout:row> </layout:column>
maintabs.jsp =>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> <P>Placez le contenu ici.</P>
et index.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 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %> <layout:tabs styleClass="FORM" width="100%" selectedTabKeyName="tab"> <layout:tab key="Liste batchs" href="maintabs.jsp?tab=Liste batchs" width="100"> <tiles:insert page="/listDiff.do" /> </layout:tab> <layout:tab key="Détail" href="maintabs.jsp?tab=Détail" width="100"> <tr> <td>2</td> </tr> </layout:tab> </layout:tabs>
Les erreurs sont les suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%> <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout"%> <layout:html> <tiles:insert definition="tab.view"/> </layout:html>
dans index.jsp Can't insert page 'title.jsp' : /layouts/title.jsp et Can't insert page 'maintabs.jsp' : /layouts/maintabs.jsp
et si j'appelle maintabs.jsp directement j'ai lemessage suivant Can't insert page '/listDiff.do' : Illegal to flush within a custom tag (pour cette erreur j'ai inséré un flush="false", est ce le tag flush a une importance particulière?)
Quand j'ai répondu à la question de compatibilité, je ne l'avais pas imaginé dans ce sens-là.
En fait, pour ma part, dans la jsp, je code des tag tiles:insert qui pointent donc sur des définitions de tiles qui pointent sur des jsp.
Et dans chacune des jsp, j'utilise les tags Struts-Layout.
Mais je n'ai jamais expérimenté un tag tiles:insert dans le body d'un tag Struts-Layout.
Je ne sais donc pas si ça fonctionne.
Modératrice Java - Struts, Servlets/JSP, ...
En fait j'ai fait sa car cela m'éviter de faire des include enfin je n'arrivé pas a faire ce que je voulais avec des include ou des redirect, la j'ai réussi avec tiles en mettant donc flush = false dans mes balises pour éviter d'avoir le message mentionné plus haut. A quoi sert exactement cet attribut flush?
Dans la doc sur le tag tiles:insert, il est écrit ceci :
Sinon, tu trouveras une explication en français dans le tutoriels Java de JM Doudoux dans les cours et tutoriels pour apprendre Java, dans le chapitre sur le tag jsp:include, soit :flush - True or false. If true, current page out stream is flushed before insertion.
Moi, je rajouterais simplement ceci :L'attribut flush permet d'indiquer si le tampon doit être envoyé au client et vidé.
Si la valeur de ce paramètre est true, il n'est pas possible d'utiliser certaines fonctionnalités dans la servlet ou la JSP appelée : il n'est pas possible de modifier l'entete de la réponse (header, cookies) ou renvoyer ou faire suivre vers une autre page.
L'attribut flush permet d'indiquer si le tampon doit être envoyé au client et vidé avant l'insertion de la ressource.
Modératrice Java - Struts, Servlets/JSP, ...
ok merci bien pour ton explication
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager