一.指令元素:用于从jsp发送一个信息到容器,比如设置全局变量、文字编码和引入包等
a.page指令:用于设置JSP页面的属性,这些属性将用于和JSP容器通信,控制所生成的servlet结构。
<%@ page contentType="text/html;charset=gb2312"%>
b. 该指令用于引入一个文件(通常是jsp文件),jsp引擎会把两个jsp文件翻译成一个servlet文件,因此也称为静态引入。被引入的jsp文件只需保留page指令即可<html><body>...
均可省略。
<%@ include file="filename"%>
c.taglib指令:声明用户使用的自定义标签。声明用户使用自定义的标签,将标签库描述符文件导入到jsp页面。
**
<%@ taglib (uri=”tigLibURL” 或 tagDir=”tagDir”) prefix=”tagPrefix” %>**
uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。
tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。
prefix属性:标签的前缀,区分多个自定义标签。不可以使用保留前缀和空前缀,遵循XML命名空间的命名约定。
二.脚本元素 可以理就是java片段scriplet
1.scriplet <% java代码%>
2.表达式 <%=java表达式%> <%=rs.getString(1)%>
3.定义变量 <%! int i=90;%>
4.定义函数 <%! public int getResult(int a,int b) {return a+b;}%>
注:函数不能在<% %>定义
三. 动作元素
<jsp:forward file="">
的作用
在开发jsp过程中,我们通常把jsp放入WEB-INF目录,目的是为了防止用户直接访问这些jsp文件
在WebRoot下我们有一个入口页面,它的主要作用是转发
<jsp:forward file="/WEB-INF/XX.JSP"></JSP:forward>
<jsp:include file=""></jsp:include>
<%@ include file=""%> 静态引入
<jsp:include file=""></jsp:include> 动态引入
相同点:把一个文件引入到另一个文件
区别:静态引入把两个jsp文件翻译成一个servlet,所以被引入的文件不要包括<body><html>
;动态引入把两个jsp分别翻译,所以被引入的jsp包含<body><html>
也可以。