转发标签:     <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>