这是“从零开始——JSP动态网页制作基础培训教程”的视频教程里的一个例子,但是我按照例子的去做却出怪问题。
例子是这样的。
有一个JavaBean文件SampleBean3.java代码为
package ch6;
import java.io.*;
public class SampleBean3{
public SampleBean3(){
}
private int num = 0;
public void setNum(int num) {
this.num = num;
}
public int getNum(){
num++;
return num;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sample5.jsp的代码为
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<jsp:useBean id="splBean" class="ch6.SampleBean3" scope="request"/>
<html>
<head>
<title>request范围的JavaBean</title>
</head>
<body>
<%splBean.getNum();%>
<center>
<p>
<font size="5">访问人次:<strong>
<jsp:include page="sample4.jsp" flush="true"/>
</strong></font></p></center>
<p>我喜欢CSDN,我喜欢编程。</p>
</body>
</html>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sample4.jsp的代码为
<jsp:getProperty name="splBean" property="num"/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
问题出在sample5.jsp的<jsp:include page="sample4.jsp" flush="true"/>这一句,当在IE执行sample5.jsp时页面内容只显示“访问人次:”,查看->源文件,发现“<font size="5">访问人次:<strong>”之后的代码都没有了。当我把<jsp:include page="sample4.jsp" flush="true"/>换成<%@ include file="sample4.jsp"%>就没问题。这是什么原因造成的呢??我看她视频教程里却能运行成功,我说下我用的是MyEclipse 6.0.1 + Tomcat6.0,视频教材用的是Eclipse3.0 + Tomcat5.0
------解决方案--------------------------------------------------------
lz显然没明白两种include的区别
baidu或google一下
简单的说,前者是先编译代码,再合并,两者独立
后者是先合并代码再编译,很明显sample4.jsp用到sample5.jsp的代码