from http://bbs.itzcn.com/thread-464-1-1.html
這種寫法可以嗎?
使用System.out.println()只能把輸出內容列印到控制台上,無法像在JSP中使用out.println()直接把輸出內容列印到JSP網頁上,不知如何解決該問題?
眾所周知,JSP頁面在第一次執行時,需要將JSP檔案中代碼轉換成Servlet代碼形式,轉換完成後,再將這個轉換的Java檔案編譯成class檔案。編譯完成後,才由JVM執行程式。經過查看轉換過的Java檔案,發現可以把JSP中的out對象在JavaBean中轉換成JspWriter,使用它可以解決這個問題。
首先定義一個JavaBean:JavaBeanPrint,有一個print()方法,在方法休內使用JspWriter輸出一串字元。
package javabeanprint;
import java.io.IOException;
import javax.servlet.jsp.JspWriter;
public class JavaBeanPrint {
public static void print(JspWriter out) throws IOException{
out.print("在JavaBean中直接列印資訊到JSP頁面中");
}
}
然後在JSP中使用,這個JSP頁面是javabeanprint.jsp,代碼如下所示:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>使用JavaBean列印資訊到JSP頁面</title></head>
<jsp:useBean id="javabeanprint" class="javabeanprint.JavaBeanPrint" scope="page" />
<body>
<%javabeanprint.print(out);%>
</body></html>
圖4-3
javabeanprint.jsp頁面運行結果