2009-08-06 4 views

risposta

3

Per ogni variabile e standard output, la classe variabile devono attuare la .toString() metodo. Quindi, è possibile inviarlo alla pagina Web visualizzata attraverso lo OutputStream nell'oggetto HttpServletResponse utilizzando lo <% = variabile%>. Per le classi java.lang dovrebbe essere immediato.

Per le classi più complessi, è necessario implementare il .toString() Metodo:


class A { 
    private int x; 
    private int y; 
    private int z; 

    public A(int x, int y, int z) { 
     this.x = x; 
     this.y = y; 
     this.z = z; 
    } 

    // XXX: this method... 
    public String toString() { 
     return "x = " + x + "; y = " + y + "; z = " + z; 
    } 
} 

Devi sapere che in JSP è alcuna funzione/metodo come var_dump() in PHP oDati :: Dumper in Perl. In altri casi, è possibile inviare l'output al server stdout flusso, utilizzando System.out.println(), ma non è un modo raccomandabile ...

Un'altra opzione è quella di implementare un metodo statico che emette tutti i membri su una stringa ben formattata utilizzando Java Introspection, ma è un problema noto che non è consigliabile utilizzare Java Introspection negli ambienti di produzione.

+0

Questo praticamente copre tutte le basi, penso. Buona risposta! –

0

Non so che c'è qualcosa che puoi fare a parte scorrere manualmente le proprietà della variabile.

<p>Prop1: <%= var1.prop1 %></p> 
<p>Prop2: <%= var1.prop2 %></p> 
1
<% out.println(variable); %> 
+1

Questo si basa su 'VariableClass' che ha un metodo' toString() 'che rende correttamente il suo stato; altrimenti ti verrà restituito qualcosa come 'com.mypackage.VariableObject @ 35F0E3' – ChssPly76