转发标签: <jsp:forward />
参数标签: <jsp:pararm/>
包含标签: <jsp:include/>
原理: 包含与被包含的页面先各自翻译成java源文件,然后再运行时合并在一起。
(先翻译再合并),动态包含
静态包含 vs 动态包含的区别?
1) 语法不同
静态包含语法: <%@inclue file="被包含的页面"%>
动态包含语法: <jsp:include page="被包含的页面">
2)参数传递不同
静态包含不能向被包含页面传递参数
动态包含可以向被包含页面传递参数
3)原理不同
静态包含: 先合并再翻译
动态包含: 先翻译再合并
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>动作标签</title> </head> <body> <%--转发 --%> <% //request.getRequestDispatcher("/09.action2.jsp?name=eric").forward(request,response); %> <%-- 参数 --%> <%-- <jsp:forward page="/action2.jsp"> <jsp:param value="admin" name="name"/> <jsp:param value="123456" name="password"/> </jsp:forward> --%> <%--包含 --%> <%-- <jsp:include page="/common/header.jsp"> <jsp:param value="lucy" name="name"/> </jsp:include> --%> <%@include file="common/header.jsp" %> 主页的内容 </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>动作标签</title> </head> <body> <%=request.getParameter("name")%><br/> <%=request.getParameter("password")%> </body> </html>