一、Jsp
表达式
格式:
<%
=
变量或表达式
%>
作用:
向浏览器输出变量的值或者是表达式计算的结果
注意:
1
)
jsp
表达式是使用
out.print( );
方式向浏览器输出内容
2
)表达式最后不要加上分号。
二、Jsp
脚本片段(局部变量)
格式:
<% java
代码(语句)
%>
作用:
执行
java
代码
注意:
1
)
Jsp
的脚本内容原封不动直接翻译到
_jspService
方法
中,在执行
_jspService
方法时脚本代码会被执行。
2
)
Jsp
脚本可以写多行
java
语句,而且中间可以穿插
html
代码;
不能在脚本中插入函数(方法)语句,因为函数不能嵌套函数。
三、Jsp
声明(成员变量、成员方法)
格式:
<%
! 变量或方法
%>
(有个感叹号)
作用:
用于声明
jsp
的变量或方法
注意:
1
)
脚本片段都是局部变量或语句,而
jsp
声明的变量是成员变量。
2
)
jsp
声明的方法是成员方法,
脚本片段
不能声明方法!!!!
3
)不能声明和
java
源码码相同名称的方法,例如
_jspInit()
不能声明此方法。
例如:
<%!
static
{
System.out.println("loading Servlet!");
}
private int globalVar = 0;
public void jspInit()
{
System.out.println("initializing jsp!");
}
%>
<%!
public void jspDestroy()
{
System.out.println("destroying jsp!");
}
%>
四、Jsp
注释
格式:
<%-- jsp
注释
--
%>
注意:
在
jsp
页面中
html
的注释
<!-- -->
会被当前内容执行。而
jsp
的注释
<%-- jsp
注释
--%>
不会被翻译和执
五、Jsp
指令
JSP
指令的基本语法格式:
<%@
指令 属性名
="
值
" %>
举例:
<%@ page contentType="text/html;charset=UTF-8"%>
如果一个指令有多个属性,这多个属性可以写在一个指令中(用空格隔开),也可以分开写。
例如:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="java.util.Date"%>
也可以写作:
<%@ page contentType="text/html;charset=UTF-8" import="java.util.Date"%>
1
)
@taglib
指令
主要用于在使用
jsp
的标签库时,导入标签库的指令
2
)
@include
指令
include
指令用于引入其它
JSP
页面,如果使用
include
指令引入了其它
JSP
页面,
那么
JSP
引擎将把这两个
JSP
翻译成一个
servlet
。
所以
include
指令引入通常也称之为静态引入。
格式:
<%@include file="
包含的页面路径
" %>
作用:
用于包含其他页面。
其中的
file
属性用于指定被引入文件的相对路径。
file
属性的设置值
必须使用相对路径
,如果以
“
/
”开头,表示相对于当前
WEB
应用程序的根目录(注意不是站点根目录),否则,表示相对于当前文件。
<%--
在当前页面包含
common/header.jsp
页面
--%>
<%@
include
file
=
"common/header.jsp"
%>
|
注意:
1
)
包含与被包含的页面只生成一个
java
源代码
。把包含与被包含的页面
先合并翻译成一个
java
源文件
,然后再编译运行!!,这种包含叫
静态包含
!!!(源码级别包含)
2
)被包含的页面不需要写全局的
html
标签(例如:
html/head/body
)
细节:
被引入的文件必须遵循
JSP
语法。
被引入的文件可以使用任意的扩展名,即使其扩展名是
html
,
JSP
引擎也会按照处理
jsp
页面的方式处理它里面的内容,为了见明知意,
JSP
规范建议使用
.jspf(JSP fragments)作为静态引入文件的扩展名。
由于使用
include
指令将会涉及到
2
个
JSP
页面,并会把
2
个
JSP
翻译成一个
servlet
,所以这
2
个
JSP
页面的指令不能冲突(除了
pageEncoding
和导包除外)
3
)
@page
指令
page
指令用于定义
JSP
页面的各种属性,无论
page
指令出现在
JSP
页面中的什么地方,
它作用的都是整个
JSP
页面
,为了保持程序的可读性和遵循良好的编程习惯,
page
指令最好是放在整个
JSP
页面的起始位置。
格式:
<%@page %>
<%@
page
language
=
"java"
//
服务器使用什么语言来翻译这个
jsp
文件
import
=
"java.util.*"
//
导入其他包或类。除了
java.lang.*
以外的包或类都需要导入。多个包之间以逗号分隔
。
pageEncoding
=
"utf-8"
//
服务器在翻译
jsp
文件时查询的码表
contentType
=
"text/html; charset=utf-8"
//
指定
jsp
页面内容向浏览器发送时的数据编码
注意:影响
jsp
编码的问题
1
)保存
jsp
文件时
2
)翻译
jsp
文件时
3
)服务器向浏览器输出内容时
Jsp2.0
之后:
1
)
contentType
的编码会根据
pageEncoding
的编码进行自动设置
2
)在
ecplise
工具中,只要指定
pageEncoding
的编码,那么保存
jsp
文件时会自动根据此编码来保存。
结论:在
jsp2.0
之后,
jsp
文件只需要在
page
指令中指定
pageEncoding
编码即可!!!!
buffer
=
"8kb"
//
指定当前页面内容的缓冲大小
errorPage
=
""
/
/
当
jsp
页面发生错误时,指定错误处理的页面
isErrorPage
=
"false"
//
这个属性是在错误处理页面指定的。如果该属性为
true
,则可以使用
exception
内置对象来输出错误信息。如果为
false
,则不能使用
exception
。
session
=
"true"
//
开启
session
会话功能
isELIgnored
=
"false"
%>