Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [jsp] Passaggio variabile a tag

    Ciao a tutti,
    ho un problema rigurado un passaggio di variabile all'interno di una pagina JSP, dal codice java ai tag jsp.

    Catturo request.getParameter("id")), lo assegno a una variabile e poi vorrei usare quella variabile per una query all'interno di un TAG. Purtroppo però pare che la variabile getId non sia istnaziata all'interno di <sql:query>.

    Vorrei sapere quindi come si fa un passaggio di questo tipo.. scusate la banalità della domanda ma sto impazzendo..

    codice:
    <%
                            int getId = 0;
                            try{
                                getId = Integer.parseInt(request.getParameter("id"));
                            }
    %>
                        <sql:query var="queryResults" dataSource="${dataSrc}">
                            select contenuto from "SYSTEM"."MAINMENU" where id=?
                            <sql:param value="${getId}" />
                        </sql:query>
                        <c:forEach var="row" items="${queryResults.rows}">
                            <c:out value="${row.contenuto}"/>
                        </c:forEach>
    Ciao a tutti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Puoi salvarla in request o da qualche altra parte.
    codice:
    <%
       int getId = 0;
       try{
          getId = Integer.parseInt(request.getParameter("id"));
       }
       request.setAttribute("getId ", getId );              
    %>
    <sql:query var="queryResults" dataSource="${dataSrc}">
       select contenuto from "SYSTEM"."MAINMENU" where id=?
       [B]<sql:param value="${requestScope.getId}" />[B]
    </sql:query>
    <c:forEach var="row" items="${queryResults.rows}">
       <c:out value="${row.contenuto}"/>
    </c:forEach>

  3. #3
    Ciao,
    direi che questo è un ottimo escamotage, però per curiosità personale mi piacerebbe capire come passare una variabile dal codice java (<% %>) a un tag, come fossimo in questa situazione:

    codice:
    <%
       int ilMioValoreElaborato = 10;             
    %>
    <sql:query var="queryResults" dataSource="${dataSrc}">
       select contenuto from "SYSTEM"."MAINMENU" where id=?
       <sql:param value="xxxxx_ilMioValoreElaborato_xxxxx" />
    </sql:query>
    In qualche modo deve essere possibile, non ci credo che se ne sono dimenticati..


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    Spero non ho detto una cretinata

    <sqlaram value="<%=ilMioValoreElaborato%>" />
    tomcat 6.016
    netbeans 6.1

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    In qualche modo deve essere possibile, non ci credo che se ne sono dimenticati..
    Beh, le taglibraries sono nate appunto per evitare di usare codice java puro dentro i tag <% %>, cosa che rende la pagina meno leggibile e crea difficolta' ad eventuali altri programmatori che in futuro si occupino di intervenire sulla grafica delle pagine (html, css, etc), ma che sono a digiuno di java. Le taglibraries standard ti permettono gia' di eseguire operazioni semplici (dichiarazioni di variabili, stampe, cicli, if ed altro), senza rendere illeggibile il codice.
    Per operazioni piu' complesse c'e' la possibilita' di scrivere una taglibrary propria e usarla nel progetto. Se t'interessa approfondire l'argomento, guarda QUA.
    In ogni caso l'utilizzo dei tag <%= %> come ti e' stato suggerito, ti permette di accedere a queste variabili nei casi da te proposti.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.