[Struts-Layout] Problème Implémentation de BasicImageRenderer et JSP
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:
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:
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:
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