JSP指令与动作
一、指令
JSP指令用来设置整个JSP页面的相关属性,如网页的编码方式和脚本语言等。
1、page指令:通常位于JSP页面的顶端,同一页面可以有多个page指令
page指令语法:<%@ page 属性1="属性值1"属性2="属性值2"属性n="属性值n"%>
<%@ page 属性1="属性值1"属性2="属性值2"属性n="属性值n"%>
属性 | 描述 | 默认值 |
language | 指定JSP页面使用的脚本语言 | java |
import | 指定脚本语言中使用到的类文件 | null |
contentType | 指定JSP页面采用的编码方式以及文件类型 | text/html,ISO-8859-1 |
buffer | 指定out对象使用缓冲区的大小 | |
extends | 指定servlet继承自哪个类 | |
isELIgnored | 指定是否执行EL表达式 | |
errorPage | 指定当前页面发生异常时需要转向的错误处理页面 | |
isErrorPage | 指定当前页面是否可以作为错误处理页面 |
【注】pageEncoding是JSP页面本身的编码,contentType的charset属性是指服务器发给客户端时的内容编码
2、include指令:将一个外部文件嵌入到当前JSP页面中,同时解析这个页面
<%@ include file="URL"%>
include指令中的文件名是一个相对的URL,JSP编译器默认在当前路径下寻找。
3、taglib指令:使用标签库定义新的自定义标签,在JSP页面启用定制行为
<%@ taglib uri="uri" prefix="前缀"%>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
二、动作
JSP动作元素(action elements),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
JSP动作的分类:
①与存取JavaBean有关的动作
<jsp:useBean><jsp:setProperty><jsp:getProperty>
②JSP1.2开始有的基本元素,包括6个动作元素
<jsp:include><jsp:forward><jsp:param><jsp:plugin><jsp:params><jsp:fallback>
③JSP2.0新增加的元素,主要与JSP Document有关,包括6个元素
<jsp:root><jsp:declaration><jsp:scriptlet><jsp:expression><jsp:text><jsp:output>
④JSP2.0新增加的元素,主要是用来动态生成XML元素标签的值,包括3个动作
<jsp:attribute><jsp:body><jsp:element>
⑤JSP2.0新增加的元素,主要用在Tag File中,有2个元素
<jsp:invoke><jsp:dobody>
1、include动作
<jsp:include page="URL" flush="true/false"/>
page属性表示要包含的页面,flush属性表示被包含的页面是否要从缓冲区读取
【注】include指令和include动作的区别,简单说来,include指令包含的是代码,include动作包含的是结果
include指令 | include动作 | |
语法格式 | <%@ include file="url" %> | <jsp:include page="url"> |
发生作用的时间 | 页面转换期间 | 请求期间 |
包含的内容 | 文件的实际内容 | 页面的输出 |
转换成的Servlet | 主页面与包含页面转换为一个Servlet | 主页面和包含页面分别转换为独立的Servlet |
编译时间 | 较慢,资源必须被解析 | 较快 |
执行时间 | 稍快 | 较慢,每次资源必须被解析 |
2、forward动作
<jsp:forward page="URL"/>
等同于request.getRequestDispatcher(url).forward(request,response);
3、param动作
<jsp:param name="参数名" value="参数值"/>
常常与<jsp:forward>标签一起使用,作为其子标签,可以添加新的参数也可以修改原有参数
<jsp:forward page="login.jsp"> <jsp:param name="name" value="admin"/> </jsp:forward>
4、useBean动作
<jsp:useBean id="标示符" class="类名" scope="作用范围">
5、setProperty动作
<!-- 全部属性与表单关联 --> <jsp:setProperty name="JavaBean实例名" property="*"/> <!-- 部分属性与表单关联--> <jsp:setProperty name="JavaBean实例名" property="指定属性名"/> <!-- 手工设置属性--> <jsp:setProperty name="JavaBean实例名" property="指定属性名" value="指定属性值"/> <!-- 与request参数关联--> <jsp:setProperty name="JavaBean实例名" property="指定属性名" value="指定属性值" param="request对象中的参数名"/>
6、getProperty动作
<jsp:getProperty name="JavaBean实例名" property="属性名"/>
7、plugin动作
<jsp:plugin>标签用来根据浏览器类型,通过插入Java插件运行Java Applet所必需的OBJECT活EMBED元素
<jsp:plugin type="bean | applet" code="classFileName" codebase="classFileDirectoryName" [ name="instanceName" ] [ archive="URIToArchive, ..." ] [ align="bottom | top | middle | left | right" ] [ height="displayPixels" ] [ width="displayPixels" ] [ hspace="leftRightPixels" ] [ vspace="topBottomPixels" ] [ jreversion="JREVersionNumber | 1.1" ] [ nspluginurl="URLToPlugin" ] [ iepluginurl="URLToPlugin" ] ></jsp:plugin>
8、<jsp:element>、<jsp:attribute>、<jsp:body>动作
这三个动作元素动态定义了XML元素
<jsp:element name="xmlElement"> <jsp:attribute name="xmlElementAttr"> Value for the attribute </jsp:attribute> <jsp:body> Body for XML element </jsp:body> </jsp:element>
参考资料:慕课网【JAVA遇见HTML——JSP篇】http://www.imooc.com/learn/166
w3cschool的JSP教程 http://www.w3cschool.cc/jsp/jsp-tutorial.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。