这是“从零开始——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

解决方案 »

  1.   

    lz显然没明白两种include的区别baidu或google一下简单的说,前者是先编译代码,再合并,两者独立
    后者是先合并代码再编译,很明显sample4.jsp用到sample5.jsp的代码
      

  2.   

    我把sample4.jsp的代码修改为 <%@ page language="java" contentType="text/html; charset=gb2312"%> 
    <jsp:useBean id="splBean" class="ch6.SampleBean3" scope="request"/>
    <jsp:getProperty name="splBean" property="num"/>然后运行,这次运行成功了,<%@ include file=""%>和<jsp:include page="" flush="true"/>的区别我也知道一点。但是视频里的sample4.jsp代码只有
    <%@ page language="java" contentType="text/html; charset=gb2312"%> 
    <jsp:getProperty name="splBean" property="num"/>
    就能运行成功,难道这和Tomcat的版本有关?在这里还是要谢谢fosjos的回答,使我作了修改运行通过,但是说话请有素质点,lz是什么意思。
      

  3.   

    lz楼主
    ls楼上强烈怀疑视频有假
      

  4.   

    http://www.iyaming.com