Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Bean e Tag Lib

  1. #1

    Bean e Tag Lib

    Salve a tutti. Io uso una classe di tag per creare un tag select nella mia pagina web. Tuttavia ho un problema: le varie option del tag select non si trovano su un database ma sono restituiti da un bean. Si può accedere a un bean da una classe tag? Come si fa? Grazie a tutti

  2. #2
    Potresti risolvere inserendo un attributo nel tag ad esempio:

    Codice PHP:
    <tag>
        <
    name>select</name>
        <
    tagclass>percorso.del.tuoPackage.SelectTag</tagclass>
        <
    bodycontent>empty</bodycontent>
        <
    info>Crea una select</info>
        <
    attribute>
            <
    name>nome</name>
            <
    required>true</required>
        </
    attribute>
        <
    attribute>
            <
    name>list</name>
            <
    required>true</required>
            <
    rtexprvalue>true</rtexprvalue>
        </
    attribute>
    </
    tag
    La tua classe Tag

    Codice PHP:
    public class SelectTag extends TagSupport {
        
        
    //...
        
        
    public int doStartTag() {
            try {
                
    JspWriter out pageContext.getOut();
                
    out.println("<select name=\""+nome+"\" >");
            
                if (list!=
    null){
                    
    Iterator it=list.iterator();
                    while(
    it.hasNext()){
                        
    Selectable s=(Selectable)it.next();
                        
    out.println("<option value=\""+s.getValueID()+"\">"+s.getValueName()+"</option>");
                    }
                }
            } catch (
    Exception e) {
                
    e.printStackTrace();
            }
            
            return 
    TagSupport.SKIP_BODY;
        }
        
        public 
    int doEndTag(){
            try {
                
    JspWriter out pageContext.getOut();
                
    out.println("</select>");
            } catch (
    Exception e){
                
    e.printStackTrace();
            }
            
            return 
    TagSupport.EVAL_PAGE;
        }




    public interface 
    Selectable {
        public 
    String getValueName();
        public 
    String getValueID();


    E infine la jsp:

    Codice PHP:
    <jsp:useBean id="tuoBean" scope="......." class="percorso.delPackage.TuoBean" />
    <%@ 
    taglib uri="/WEB-INF/selectTag.tld" prefix="st" %>
    <
    html>
    <
    head>
        <
    title>Custom Tag</title>
    </
    head>
    <
    body>
          

    <
    st:select nome="s" list="<%=tuoBean.getLista()%>"/></p>
    </
    body>
    </
    html
    Al mio segnale... scatenate l'inferno!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.