in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

tag personalizzato multicolonna

Ultimo messaggio ricevuto il 12-05-2006 9.15 da giuseppex. 2 risposta(e).
Pagina 1 di 1 (3 elemento/i)
Ordina messaggi: Precedente Successivo
  • 11-05-2006 9.24

    tag personalizzato multicolonna

    Ciao.
    Vorrei realizzare un tag personalizzato per gestire i layout multicolonna.
    In pratica ho un template di una cella e devo ripeterla ad es per 2 volte.
    Io faccio il contatore % 2 e guardo il resto e se è 1 vado a capo.
    VOrrei utilizzare un tag personalizzato per poter ad esempio in un futuro impaginare su 1 o 3 colonne.
    Inoltre all'interno ho varie query(sempre le stesse select ma con parametri diversi)che cambiano l'aspetto dell'html as es aggiungono immagini e non so come disaccoppiare la logica dalla presentazione a livello di tag.
    In pratica da quel po che so si potrebbe impostare un tag con corpo,e vari parametri ma non ho le idee ben chiare.
    vorrei inoltre sapere come creare custom tag con jbuilder 2005,dove devo mettere i files .tag?
    grazie.
    • Log
  • 11-05-2006 14.44 In risposta a

    Re: tag personalizzato multicolonna

    ps. vorrei customizzare i bodytag da codice e non i custom tag jstl(file .tag)
    • Log
  • 12-05-2006 9.15 In risposta a

    Re: tag personalizzato multicolonna


    è molto semplice, ma se mai potesse essere utile a qualcuno ho risolto con un bodytag ,adesso faccio una paginazione,la domanda è questa come recuperare un indice di pagina corrente all interno del tag?(request.????)e come ripassare tutti i parametri della pagina in modo che quando faccio richiamare la pagina chesso dal tag di paginazione ">" non li perda?
    grazie.

    package bibicom.CustomTags;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.io.*;

    public class TagIterativo extends BodyTagSupport {

      private String startpage;

      public void setPage(String page)
      {
        this.startpage=page;
      }

    public int doEndTag()
    {
     
      String Body=getBodyContent().getString();
      String afterbody="";
      String beforeBody="";
      StringBuffer textbuffer=new StringBuffer(Body);
      JspWriter out =getPreviousOut();
      int col=0;
     
     
      try
       {
         out.write("<table>");
         out.write("<tr>");
      for(int i=0;i<Integer.parseInt(this.righe);i++)
      {





         for(int j=0;j<=Integer.parseInt(this.colonne);j++)
         {
           if(Integer.parseInt(this.colonne)!=col)
           {


           out.write("<td>");
           out.write(Body);
           out.write("</td>");
          
           col++;
           }
           else
           {
             
              out.write("</tr>");
             
              col=0;
          }
        }


     }


     
     out.write("</table>");
       }
       catch(IOException e)
         {



          }

      return EVAL_PAGE;
    }

      public void setRighe(String righe) {
        this.righe = righe;
      }

      public void setColonne(String colonne) {
        this.colonne = colonne;
      }

      private String righe = "";
      private String colonne ="";
    }

    con un tld cosi:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
        <tlibversion>1</tlibversion>
        <jspversion>1.2</jspversion>
        <shortname>popov</shortname>
        <info>OReilly Sample Tag library</info>
      <tag>
        <name>TagIterattivo</name>
        <tagclass>popov.CustomTags.TagIterativo</tagclass>
        <bodycontent>jsp</bodycontent>
        <info>
        Tag Iterattivo
        </info>
        <attribute>
          <name>colonne</name>
          <required>true</required>
        </attribute>
        <attribute>
          <name>righe</name>
          <required></required>
        </attribute>
    </tag>
    </taglib>

    immettendo il seguente codice ti impagina il contenuto del body in righe e colonne come da parametri
    <mytags:TagIterattivo colonne="4" righe="4">
    <strong>JBuilder Generated JSP</strong>
    </mytags:TagIterattivo>

    ciao.
    • Log
Pagina 1 di 1 (3 elemento/i)
Prelevato da http://www.devspy.com/forums/p/4168/4683.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"