1. 程式人生 > >Java程式輕鬆輸出到JSP頁面

Java程式輕鬆輸出到JSP頁面

 Java程式中的輸出一般都使用System.out.println()之類,然而對應使用JSP程式設計的朋友來說,想把Java程式中的輸出列印到頁面上,確實得費點勁了。目前本人所知的辦法有三種: 1.使用字串作為返回值     如果程式中的輸出量不大的話,可以將輸出部分存入一個變數,JSP中呼叫該Java函式得到返回的變數,並使用<%=returnParameter%>就可以了。 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><HEAD><TITLE>輸出HTML標籤</HEAD></TITLE><BODY>"); pw.println("輸出程式中你想輸出的部分"); pw.println("</BODY></HTML>"); 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("<br>");才能實現哦。另外,需要在程式開始必須加入這條語句"import javax.servlet.jsp.JspWriter;"。
Jsp頁面中呼叫可以使用: <%  JspWriter mout=pageContext.getOut();
    youMethod(……,mout);%>
這樣,你的Java方法中所寫的輸出就直接輸出到頁面上去了,而不再是tomcat之類的伺服器控臺上。