<%! %>声明标记,声明变量或者方法,声明的变量为全局变量
<% %>代码片段,局部变量
<%= %>获取变量值
<%@ %> 例如:<%@ 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>
<%@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>
<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>