如何在JSP中转储变量?

Sha*_*son 9 jsp

我目前正在尝试修改JSP中的一些开源软件,并且不知道语法.

如何使用JSP将复杂变量转储到浏览器?

小智 3

对于任何变量和标准输出,变量类必须实现.toString()方法。然后,您可以使用<%=变量%>通过HttpServletResponse对象中的OutputStream将其发送到渲染后的网页。对于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;
   }
}
Run Code Online (Sandbox Code Playgroud)

你必须知道,JSP 中没有像PHP 中的var_dump()或 Perl 中的Data::Dumper这样的函数/方法。在其他情况下,您可以使用System.out.println()将输出发送到服务器标准输出流,但这不是推荐的方式...

另一种选择是实现一个静态方法,该方法使用Java Introspection以格式良好的字符串输出所有成员,但这是一个已知问题,不建议在生产环境中使用Java Introspection 。