转载内容
1.include指令
include可以在JSP页面转换成Servlet之前,将JSP代码插入其中 。它的主要 优点 是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的 缺点 是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。语法:<%@ include file="sample.jsp" %>
2.include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页 面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
语法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>
其中参数设置可以没有,如果没有参数设置,则必须采用<jsp:include page="sample.jsp" flush="true"/>形式
以下为跟着视频写的例子:
1.首先准备一个要包含的页面(Date.jsp),该页面功能为输出日期
<%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.Date"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% //include 要包含的页面 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String s = sdf.format(new Date()); out.print(s); %>
2.include指令实现
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>include指令--演示</title> </head> <body> <h1>include指令</h1> <hr> <!-- 发生作用时间:页面转换期间; --> <!-- 包含内容:文件的实际内容; --> <!-- 主页面和包含页面转换为一个Servlet --> <%@ include file="Date.jsp"%> </body> </html>
3.include动作实现
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>include动作--演示</title> </head> <body> <h1>include动作</h1> <hr> <!-- 发生作用时间:请求期间; --> <!-- 包含内容:页面的输出; --> <!-- 主页面和包含页面为两个独立的Servlet --> <jsp:include page="Date.jsp" flush="true"/> <!-- 指令相当于把代码写进当前页面,动作相当于调用外部方法,接收返回值 --> </body> </html>