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页面运行结果