Bonjour,

Je suis sur Struts 1.1 et j'essaye d'utiliser les classes du jar "Struts-Layout" pour donner un effet graphique à mes boutons, panels,...etc, sur les pages JSP.

J'ai créé une classe BoutonRenderer qui implémente BasicImageRenderer :


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
package fr.agf.an.scom.composants.taglib.layout.renderer.agfnet;
 
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
 
import org.apache.struts.util.ResponseUtils;
 
import fr.improve.struts.taglib.layout.JavascriptImageTag;
import fr.improve.struts.taglib.layout.renderer.BasicImageRenderer;
import fr.improve.struts.taglib.layout.util.LayoutUtils;
 
/**
 * Classe BoutonRenderer : Classe de rendu graphique AGFnet - de type BasicImageRenderer.<br>
 * <p>
 * Date de création de la classe : 26/04/2007. <br>
 * Date de dernière modification : 26/04/2007. <br>
 * 
 * @version 1.0
 */
public class BoutonRenderer extends BasicImageRenderer {
 
	/**
         * Méthode doEndButton
         */
	public void doEndButton(PageContext context, JavascriptImageTag tag) throws JspException {
		// Compute onclick JS code.
		String javascript = null;
 
		if (tag.getReqCode()!= null) {
			javascript = "return getParentForm(this, '"+tag.getReqCode()+"');";
		} 
		if (tag.getHref()!= null) {
			javascript = "window.location = '"+tag.getHref()+"';";
		}
		// Start table.
		ResponseUtils.write(context, "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" ");
		if (javascript!=null){
			ResponseUtils.write(context, "onclick=\"" + javascript +"\" ");
		}
		ResponseUtils.write(context, "onmouseover=\"this.style.cursor='hand'\"");
		ResponseUtils.write(context, ">\n");
 
		// Start row.
		ResponseUtils.write(context, "<tr>\n");
 
		// Left cell.
	    ResponseUtils.write(context, "<td class=\""+ tag.getStyleClass()+ "_left\">");
	    ResponseUtils.write(context, "<img src=\"");
	    ResponseUtils.write(context, LayoutUtils.getSkin(context.getSession()).getImageDirectory(context.getRequest()));
	    ResponseUtils.write(context, "/clearpixel.gif\" width=\"1\" height=\"1\"/>");
	    ResponseUtils.write(context, "</td>\n");	   
	}
 
	/**
         * Méthode doPrintLabel
         */
	public void doPrintLabel(PageContext context, JavascriptImageTag tag, String label) throws JspException {
		// Center cell with label.
		ResponseUtils.write(context, "<td class=\""+ tag.getStyleClass() + "\">"+label+"</td>\n");
	}
 
	/**
         * Méthode doStartButton
         */
	public void doStartButton(PageContext context, JavascriptImageTag tag) throws JspException {
		// Right cell.
	    ResponseUtils.write(context, "<td class=\""+ tag.getStyleClass() + "_right\">");
	    ResponseUtils.write(context, "<img src=\"");
	    ResponseUtils.write(context, LayoutUtils.getSkin(context.getSession()).getImageDirectory(context.getRequest()));
	    ResponseUtils.write(context, "/clearpixel.gif\" width=\"1\" height=\"1\"/>");
	    ResponseUtils.write(context, "</td>\n");
	    // Close row and table.
		ResponseUtils.write(context, "</tr>\n</table>\n");
	}
}
Je déclare le bouton.class dans Struts-Layout.properties comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
button.class = fr.agf.an.scom.composants.taglib.layout.renderer.agfnet.BoutonRenderer
plus les autres déclaration de panel.class, grid.class,...etc, mis par défaut.

Le problème est que je ne vois aucun effet sur les boutons quand je déclare un bouton sur ma page JSP comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<TITLE><layout:message key="agf.window.title" /></TITLE>
 
	<layout:skin includeScript="true"/>
	<layout:panel width="100%">
		<layout:space />
		<layout:space />
		<layout:row width="100%">
			<layout:button >Se connecter</layout:button>
		</layout:row>
		<layout:panel styleClass="gris">
			<layout:button >Test</layout:button>
		</layout:panel>
	</layout:panel>
J'utilise Struts-Layout sur Struts 1.1, j'ai suivi sur ce qui est mis ici pas à pas : http://www.improve-foundations.org/r...allation_notes

Je ne sais pas pourquoi ça ne marche pas ?
Est ce que quelqu'un peut me passer une solution svp ?

Merci!

Si je n'étais pas clair, dites le moi et je vous mettrai d'autres infos...

Raf... :s