2. 变量声明必须以”;”结尾。
3. 变量和方法的命名规则与Java中的变量和方法的命名规则相同。
4. 可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
5. 一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@ include %>或元素包含进来。
下面是示范例子:
<%-- 声明 --%>
<%! double r;
double pi = Math.PI;
double getArea(double a){
return pi*a*a;
<%-- 使用 --%>
<% r=100;
out.println("调用getArea方法计算半径是"+r+"的园的面积:");
double area=getArea(r);
out.println(area);
JSP脚本即Scriptlet,也就是JSP中的代码部分,是一段Java代码。
脚本中定义的变量称为JSP页面的局部变量,必须在Java代码段前声明。
脚本定义的变量和方法在在后继的页面内有效,当变量所在页面关闭该变量就会被销毁。
下面是示范例子:
String
str
=
"你好,我是你的好朋友戴益波"
;
for
(
int
i =
0
; i<
10
; i++){
out.print(i +
"---------------------"
+
str
+
"\n"
);
JSP的指令
page 指令
page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件。
**语法格式:**
可以用一个page指令指定多个属性的值 ,也可以使用多个page指令分别为每个属性指定值 。如果为一个属性指定几个值,这些值之间用逗号隔开。
<%@ page 属性1=“属性1的值” 属性2= “属性2的值” ……%>
<%@ page 属性1="属性1的值" %>
<%@ page 属性2="属性2的值" %>
<%@ page 属性n=“属性n的值” %>
<%@ page import=“java.util.*”, “java.io.*” %>
page 指令的语法格式如下:
[ language=“java” ] 使用的脚本语言,可不写(系统默认)
[ extends=“package.class” ] 指明编译时要导入Java类名
[ import=“{package.class | package.
}, …” ] 导入的Java包,可多个,中间用逗号隔开。 默认import属性已有如下值:java.lang.
, lavax.servlet.
,javax.servlet.jsp.
, javax.servlet.http.*
[ session=“true | false” ] 是否使用内置session对象
[ buffer=“none | 8kb | sizekb” ]指定内置的out对象(负责把结果发送到客户端)缓冲区大小
[ autoFlush=“true | false” ] 指定out缓冲区填满时,缓冲区是否自动刷新
[ isThreadSafe=“true | false” ] 设置JSP页面是否允许多线程访问。设置后多线程轮转执行
[ info=“text” ] 定义JSP页面信息,保存在字符串info中,供Servlet.getServletInfo()获取使用
[ errorPage=“relativeURL” ] 出现错误时转向的页面文件
[ isErrorPage=“true | false” ] 设置此页面是否为ErrorPage的目标页,如果是,可以用exception对象
[ contentType=“mimeType” ;charset=”characterSet” ]
下面为详细介绍
设置页面文件类型和字符编码
默认: <%@ page contentType="text/html;charset=ISO-8859-1" %>
常规:<%@ page contentType="text/html;charset=UTF-8" %>
其它:text/plain、image/gif(或x-xbitmap、jpeg、pjpeg)、
application/msword(vnd.ms-excel、vnd.ms-powerpoint、x-shockwave-flash)等。
工作原理:
设置上述属性,Tomcat服务器告知用户的浏览器使用怎样的方式来处理接收到的信息。
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=UTF-8"
>
<
title
>
JSP Page
</
title
>
</
head
>
<
h1
>
Hello World!
</
h1
>
</
body
>
</
html
>
taglib指令
taglib指令用来指定页面中使用的标签库以及其自定义标签的前缀。
taglib语法格式为:
<%@taglib uri=" tagLibraryURI" prefix=" tagPrefix" %>
uri属性:制定标签库相对路径
【功能说明】uri(Uniform Resource Identifier,统一资源标识符)属性用于指定标记库的存放位置,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,无默认值。uri属性可以是在TLD (标记库描述符)文件或web.xml文件中定义的标记库的符号名,也可以是TLD文件或JAR文件的相对路径。
prefix属性:制定标记前缀
【功能说明】prefix属性用于指定标记库中所有动作元素名中使用的前缀,无默认值。
下面是示范例子:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%-- http://java.sun.com/jsp/jstl/core 为java标准标签库 --%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<head><title>taglib指令实例演示</title></head>
<h2>taglib指令实例演示!</h2>
<h2><c:out value="欢迎使用JSTL" /></h2>
</body>
</html>