JAVA程序输出到jsp页面
Java程序中的输出一般都使用System.out.println()之类,然而对应使用JSP编程的朋友来说,想把Java程序中的输出打印到页面上,确实得费点劲了。目前本人所知的办法有三种:
1.使用字符串作为返回值
如果程序中的输出量不大的话,可以将输出部分存入一个变量,JSP中调用该Java函数得到返回的变量,并使用就可以了。
2.使用Servlet输出
相信大部分JSP编程的人都会想到Servlet来实现,重写doGet(HttpServletRequest request,HttpServletResponse response)或doPost(HttpServletRequest request,HttpServletResponse response),再使用
//Get output stream and writers
OutputStream out=response.getOutputStream();
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
//Print HTML
pw.println("
输出HTML标签");
pw.println("输出程序中你想输出的部分");
pw.println("");
pw.flush();
pw.close();
注:这种方法对应熟悉Servlet的人来说无疑是首先想到和通常使用的,但是如果Java程序需要从Jsp页面传参数进去,而且如果参数很复杂,比如是二维数组或者更复杂的东西,这个参数的传递路线:JSP->SERVLET->doGet()/doPost()->yourMethod(int[][],String[][])???似乎很复杂,而且不好实现。
3.使用JSP对象JspWriter
别忘了,Jsp还有一个叫做JspWriter的对象,只有在你的Java方法的参数中多传一个JspWriter mout,然后把程序中需要输出的部分从System.out.print改成mout.print就可以了!但是通常会提示有未处理的异常,因为我们只是单纯的输出,如果懒得管就直接把“IOException” throws 掉吧。注意此时,println()的换行对于Jsp页面可是无效的,所以如果你要实现换行的话,需要使用mout.print("
");才能实现哦。另外,需要在程序开始必须加入这条语句"import javax.servlet.jsp.JspWriter;"。
Jsp页面中调用可以使用:
youMethod(……,mout);%>
这样,你的Java方法中所写的输出就直接输出到页面上去了,而不再是tomcat之类的服务器控台上。