JSP: JSP的语法
1 JSP语法结构
声明区
程序代码区
表达式
注释
指令和动作
内置对象
2 声明区
基本语法
<%! %>
说明:可以定义全局变量、方法、类
<%! int i; public void setName(){… …} %>
3 程序代码区
基本语法
<%程序代码区%>
说明:可以定义局部变量以及放入任何的Java程序代码
<% int j; for (int k=0; k<10; k++) { … … } %>
4 表达式
基本语法
<%=… …%>
说明:
可以输出一个变量或一个具体内容,但=后面必须是字符串变量或者可以被转换成字符串的 表达式
注意:
不需要以;结束,只有一行
<%=“hello world”%> <%=i+1%>
案例题目
使用for循环输出一个html语言的表格,具体表头如下:
id name age salary
1 1 1 1
2 2 2 2
...
5 5 5 5
5 注释
格式: <!--… …--> HTML文件的注释,浏览器可以查看到 <%--… …--%> JSP文件的注释,浏览器看不到 <%//… …%> Java语言中的单行注释,浏览器看不到 <%/*… …*/%> Java语言中的多行注释,浏览器看不到 注释的内容不会被执行
.
6 指令
指令格式:
<%@指令 属性=“属性值”%>
指令的属性可以设定多个
JSP常用指令有:page、taglib、include
(1)page指令
page指令用于导包,和设置一些页面属性,常用属性如下:
import 导入相应的包,惟一允许在同一文档中多次出现的属性
contentType 设置Content-Type响应报头,标明即将发送到浏览器的文档类型
pageEncoding 设置页面的编码
language 指定页面使用的语言
session 控制页面是否参与HTTP会话
errorPage 处理当前页面中抛出但未被捕获的任何异常
isErrorPage 当前页是否可以作为其他页面的错误处理页面
(2)taglib指令
taglib指令用来扩展JSP程序的标签元素,引入其他功能的标签库文件
<!-- prefix属性用于指定库前缀 --> <!-- uri属性用于指定库的标识 --> <%@taglib uri=“tagLibary” prefix=“prefix”%>
(3)include指令
include指令用于引入另一个JSP程序或HTML文件等,格式如下:
<%@include file=“被包含的文件地址%>
JSP引擎,会在JSP文件的转换时期,先把file属性设定的文件包含进来,然后开始执行转换、编译的工作
7 动作
(1)jsp:include和jsp:param 动作
jsp:include动作用于引入另一个JSP程序或HTML文件等
执行到include时,被include的文件才会被编译
如果include的是jsp文件,那它不会被转换成Servlet文件
<jsp:include page=“URLSpec” flush=“true”/> <jsp:include page=“URLSpec” flush=“true”> <jsp:param name=“key” value=“value”/> </jsp:include>
(2)include指令和include动作的区别
include指令,是在JSP程序的转换时期,就将file属性所指定的程序内容,嵌入再编译执行(静态包含)
include动作,在转换时期是不会被编译的,只有在客户端请求时期被执行到,才会被动态的编译载入 (动态包含,推荐)
(3)jsp:forward和jsp:param 动作
forward动作,用于在JSP中实现转发,将请求转发到另一个指定的JSP程序,或者Servlet中处理
<jsp:forward page=“urlSpec” flush=“true”/> <jsp:forward page=“urlSpec”> <!-- 用于指定参数和其对应的值 --> <jsp:param name=“key” value=“value”/> </jsp:forward>