Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Stampare stringhe su pagina jsp....

    Salve ragazzi,
    avrei un consiglio da chiedervi.
    Avrei bisogno di stampare in una pagina jsp il contenuto di un array di stringhe,generato da un bean opportunamente invocato.
    La parte finale del bean esegue la stampa di quest'array di stringhe (la funzione l'avevo pensata prima per un'applicazione java,poi sono passato al web).
    Come potrei ottenere la stampa in una pagina jsp successiva?
    Cioè se da menu.jsp clicco un bottone visualizza,carico il bean che mi prende i dati dal db(è un blob) e me li formatta dividendoli in righe,..come faccio a stamparli in una pagina jsp?
    Il bean è questo, chiaramente il for finale (che fa la stampa) dovrei passarlo in una pagina jsp opportunamente...mi dareste una mano,è la prima volta che lo faccio...
    P.S.E' possibile in un secondo momento effettuare una query su quest'insieme di righe?
    Grazie in anticipo

    codice:
    public String retrieveblob(){
    		Database2 db = new Database2("nomeDB","root","shevagol");	
    		Connection dbo=db.getConnection();
    		try
    			{
    			
    				Statement st = dbo.createStatement();
    				System.out.println("eccezione buona3");
    				ResultSet rs;
    				rs = st.executeQuery("SELECT Data FROM tbl WHERE Nome=1");
    				rs.first();
    				Blob blob = rs.getBlob("Data");
    				byte[] read = blob.getBytes(1, (int) blob.length()); 
    				String lettura=new String(read);
    				System.out.println("Le stringhe splittate sono");
    		        String[] arraylinee=lettura.split(";");
    		        for (int i = 0; i < arraylinee.length; i++) { 
    		            String elemento = arraylinee[i]; 
    		            try { 
    		              double mioDouble = Double.parseDouble(elemento); 
    		              
    		            } 
    		            catch (NumberFormatException e) { 
    		                System.out.println(elemento); 
    		              } 
    		            
    		        } 
    		}
    		catch(SQLException e)
    		{
    		System.out.println("Si è verificato il seguente errore: " + e.getMessage());
    		e.printStackTrace();
    		}	
    		return "retrOk";
    	}

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    66
    Se ho ben capito..... basta che il bean passi l'array di stringhe alla jsp che poi provvede a stamparlo ad esempio con out.print() oppure se devi stamparlo dentro codice html/xml con <%=nomevariabile%>

    Per passare l'array di stringhe piuttosto che farlo direttamente (come return del metodo) è meglio predisporre un'apposita proprietà. Il metodo del bean setterà la proprietà, e dalla jsp con una get la recuperi per stamparla.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    grazie dei consigli...se ho capito bene
    quindi per stampare l'array di linee sulla pagina jsp definisco una proprietà nel bean

    codice:
    private String[] arraylinee=null;
    e 2 metodi

    codice:
    public String[] getarraylinee()
    {
    return this.arraylinee;
    }
    
    public void setarraylinee(String[] arraylinee){
    this.arraylinee=arraylinee;
    }
    e nella pagina jsp aggiungo
    codice:
    <% 
    for (int i = 0; i < arraylinee.length; i++) { 
        out.print(arraylinee[i]); 
        out.println("
    "); 
    } 
    %>
    Come faccio a far riconoscere alla pagina jsp la variabile arraylinee?
    Devo includere qualcosa?
    Scusate la mia enesperienza....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    ...rieccomi....
    ho cambiato soluzione, ho definito come prima nel bean arraylinee che è un String[],gli ho definito i metodi di get e set e ho provato a realizzare una pagina jsp che lo stampasse senza ricorrere a codice java.
    Il tutto non mi funziona ancora per un altro problema,ma va bene questa come soluzione?
    codice:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    
    <html>
      <head>
        <title>
        </title>
      </head>
      <body>
        <f:view>
          <table>
            <c:forEach items="${MyBean.arraylinee}" var="linea" >
              <tr>
                <td>
                  <c:out value="${linea}" />   
                </td>
              </tr>
            </c:forEach>
          </table>
    
    			
        </f:view>
      </body>	
    </html>
    Se ho capito bene la sintassi con var=linea ho semplicemente stabilito che la generica stringa si chiamerà linea,per metterla nel cut...

    Aspetto vostre risposte..grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    interazione javabean-jsp...è così dura???

    Salve ragazzi,
    sto riscontrando un problema nella visualizzazione di una proprietà di un bean all'interno di una pagina jsp.
    Vi mostro i miei passi,correggetemi dove "sicuramente" avrò sbagliato
    Dichiaro la proprietà nel javabean.

    codice:
    private String[] arraylinee;
    La mia applicazione(in JSF),tramite un pulsante richiama questo metodo del bean, crea durante la sua esecuzione un'array di stringhe(arraylinee) che è ciò che voglio rappresentare nella pagina jsp.

    Sviluppo sempre nel javabean i metodi di getter e setter

    codice:
    public String[] getarraylinee(){
        	return arraylinee;
        }
        public void setarraylinee(String[] arraylinee){
        	this.arraylinee=arraylinee;
        }
    1a Domanda) Non serve che il bean mi restituisca in return l'arraylinee,giusto?
    Per ora mi restituisce una string "success" per la navigazione....

    Passiamo alla pagina Jsp
    codice:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" 
        prefix="c" %> 
    
    
    <jsp:useBean id="myBean" class="giu.MyBean" scope="session"/>
    <%@ page import="giu.MyBean" %>
    <%-- Instantiate class --%>
    
    
    
    
    <html>
    	<head>
    		<title></title>
    	</head>
    	<body>
    		<f:view>
    		<f:verbatim>
    		<h:outputText value="#{MyBean.k}"/>
    			<table>
            <c:forEach items="${session.myBean.arraylinee}" var="linea" >
              <tr>
                <td>
                  <c:out value="${linea}" />
                </td>
              </tr>
            </c:forEach>
          </table>
    		</f:verbatim>	
            </f:view> 
    			
    		
    	</body>	
    </html>
    Non fate caso al MyBean.k, l'ho messo per controllare se la connessione col db funzionava.
    Vorrei che questa pagina mi stampa l'array di stringhe,come devo fare?
    Il Bean come avrete capito si chiama MyBean ed è nel package giu.
    Per favore mi aiutate modificandomi direttamente il codice sbagliato?
    Grazie mille per la vostra disponibilità.
    Ah dimenticavo,con questi file il mio output è:
    codice:
    1 
    ${linea}

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    interazione javabean-jsp...è così dura???
    Hai aperto di nuovo una discussione su un argomento che stai già trattando in un'altra.
    Ho unito per l'ennesima volta la discussione, ma la prossima volta la chiudo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    scusami....
    ho fatto dei cambiamenti e delle riflessioni in attesa di un vostro aiuto.
    Non posso usare un datatable,sto importanto un file nella forma di una
    serie di linee di testo del tipo

    nome attributo1 attributo2 attributo3.......................
    antonio 3.4 154.33 21.1.........
    francesco 123.4 254.33 2.1.........
    paolo 23.4 54.33 211.1.........
    ........................


    il numero di colonne lo so all'atto della lettura del blob,ma i titoli
    sono quelli che sono nella prima riga e cambiano di file in file.
    Per usare un datatable non dovrei definire un oggetto "wrapper" nel
    quale definire le colonne? Come farei in questo caso in cui le colonne
    cambiano in nome e in numero per ogni file?
    Se quindi non posso usare un datatable come posso visualizzare questi
    dati?
    Ho provato con i vostri consigli ma....ancora lo stesso
    risultato...cioè non va...
    Vi prego potete aiutarmi con codice o spiegazioni almeno?
    Grazie a tutti per la disponibilità


    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core"
    prefix="c" %>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <f:view>
    <f:verbatim>
    <hutputText value="#{MyBean.k}"/>
    <table>
    <c:forEach items="${session.myBean.arraylinee}" var="linea" >
    <tr>
    <td>
    <cut value="${linea}" />
    </td>
    </tr>
    </c:forEach>
    </table>
    </f:verbatim>
    </f:view>


    </body>
    </html>

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.