2009-08-06 28 views

回答

3

對於任何變量和標準輸出,可變類必須實現的ToString()方法。然後,您可以通過使用<%=變量%>,將它發送到渲染的網頁,通過OutputStreamHttpServletResponse對象中。對於java.lang類,它應該是立即的。

對於更復雜的類,你需要實現的ToString()方法


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; 
    } 
} 

你必須知道,在JSP中是沒有的功能/方法,如的var_dump()在PHP或Data :: Dumper in Perl。在其他情況下,您可以將輸出發送到服務器標準輸出流,通過使用System.out.println(),但不是一個值得推薦的辦法......

另一種選擇是實現輸出上所有成員的靜態方法通過使用Java Introspection,但這是一個已知問題,不建議在生產環境中使用Java自檢

+0

這樣的東西幾乎涵蓋了所有的基礎,我想。好答案! – 2009-08-06 03:31:54

0

我不知道除了手動運行變量的屬性外,還有什麼可以做的。

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

這依賴於'VariableClass'具有'toString()'方法來正確呈現其狀態;否則你會得到像'com.mypackage.VariableObject @ 35F0E3'' – ChssPly76 2009-08-06 03:20:15