<%%>,<%!%>,<%=%>,<%@%>,<jsp:include><%@ include%>区别

<%!  %>声明标记,声明变量或者方法,声明的变量为全局变量

<%  %>代码片段,局部变量

<%=  %>获取变量值

<%@   %> 例如:<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

目前有三种指令:page、include 和taglib,每一种指令都有各自的属性。
page 指令是最复杂的JSP指令,它的主要功能为设定整个JSP 网页的属性和相关功能。
include 指令表示:在JSP 编译时插入一个包含文本或代码的文件,这个包含的过程是静态的,
而包含的文件可以是JSP 网页、HTML 网页、文本文件,或是一段Java 程序。
taglib 指令能够让用户自定义新的标签。

 

 1 <body>
 2     <%!int i = 0;
 3         void method(){
 4             System.out.println("sss");
 5         }
 6     %>
 7     <%
 8         i++;
 9         int j = 0;
10         j++;
11         method();
12     %>
13     <p> i的值<%=i %>
14     <p> j的值<%=j %>
15 </body>
example

<%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet。与当前页面依赖,contentType会冲突

<jsp:include>:所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的显示结果(处理结果)组合进来。独立于当前页面的,所以头文件不会和当前文件的头文件冲突。2)可以很方便的用<jsp:param>来向所包含页传递参数,方法如下:

 

<body>
    <p>加载文件效果
        <jsp:include page="tom.jsp">
            <jsp:param value="300" name="computer"/>
        </jsp:include>
    </p>
</body>
demo

 

<body>
    <%
        String str = request.getParameter("computer");
        int n = Integer.parseInt(str);
        int sum =0;
        for(int i = 0; i<=n; i++){
            sum+=i;
        }
        out.write("<p>"+sum);
    %>
</body>
View Code

 

 

 

 

原文地址:https://www.cnblogs.com/ylw666/p/5918629.html