常用的JSP指令和动作
2017-03-17 16:22
288 查看
JSP中的指令能够影响JSP翻译生出的java类的结构,如page指令、include指令。
JSP提供了一系列的动作,能够更位便捷地完成一些动态功能,如forward、include等。
JSP指令
JSP中指令的语法:
(1)page指令。
page指令共有13个属性。page指令作用于整个JSP页面,可以将指令放在JSP页面任何一个位置。
1、import属性:用来引入JSP文件需要使用的类。
2、pageEncoding属性:设置JSP文件的页面编码格式。
3、session属性:设置JSP页面是否生出session对象。该属性默认值为true,可以设置成false。
4、errorPage属性:设置JSP页面的错误页面。当JSP中发生异常或错误却没有被处理时,容器将请求转发到错误页面。
5、isErrorPage属性:该属性默认值是false,可以设置为true。在JSP的错误页面中,将isErrorPage设置为true,则该页面翻译生出的Java类中将生出exception内置对象。
JSP页面是不是只有设置了isErrorPage=true后,才能作为错误页面使用?
不是,任何一个JSP页面都可以作为错误页面,只要通过“errorPage=”设置即可。而设置isErrorPage=true后,该错误页面可以使用exception内置对象,否则不能使用exception内置对象。
(2)include指令。
include指令作用:用来静态包含其他页面(发生在翻译期间)。
如存在一个copyright.jsp文件,代码如下:
如果index.jsp要包含copyright.jsp,只要在需要包含的位置加入如下代码即可:
JSP动作
JSP中动作的语法与xml语法一致:
(1)forward动作。
在JSP页面中进行请求转发。
(2)include动作。
在JSP页面中,进行动态包含(发生在运行期间)。
传递参数,param动作往往作为子动作使用,为forward和include动作传递参数。
JSP提供了一系列的动作,能够更位便捷地完成一些动态功能,如forward、include等。
JSP指令
JSP中指令的语法:
<%@ directive {attr="value"}* %>其中directive为指令名,attr指该指令对应的属性名,一个指令可能有多个属性。
(1)page指令。
page指令共有13个属性。page指令作用于整个JSP页面,可以将指令放在JSP页面任何一个位置。
1、import属性:用来引入JSP文件需要使用的类。
<%@ page import="java.util.*,java.io.*" %> <%@ page import="com.etc.vo.*" %>上述代码可以在JSP文件中使用,引入需要使用的类。可以使用都好同时引入多个包,也可以在一个JSP文件中多次使用import。(import是page指令中唯一一个可在同一个JSP文件中多次使用的属性)
2、pageEncoding属性:设置JSP文件的页面编码格式。
<%@ page pageEcoding="gb2312" %>设置当前JSP页面的编码格式是gb2312,可以显示中文。
3、session属性:设置JSP页面是否生出session对象。该属性默认值为true,可以设置成false。
<%@ page session="false" %>session属性设置为false的话,该JSP翻译生出的类中将没有内置对象session,该JSP不会参与会话。
4、errorPage属性:设置JSP页面的错误页面。当JSP中发生异常或错误却没有被处理时,容器将请求转发到错误页面。
< 4000 %@ page errorPage="error.jsp" %> This is my JSP page.<br> <% =100/0 %><br>访问该页面会发生数学异常,而且并没有对异常进行处理,将会跳转到错误页面error.jsp。
5、isErrorPage属性:该属性默认值是false,可以设置为true。在JSP的错误页面中,将isErrorPage设置为true,则该页面翻译生出的Java类中将生出exception内置对象。
JSP页面是不是只有设置了isErrorPage=true后,才能作为错误页面使用?
不是,任何一个JSP页面都可以作为错误页面,只要通过“errorPage=”设置即可。而设置isErrorPage=true后,该错误页面可以使用exception内置对象,否则不能使用exception内置对象。
(2)include指令。
include指令作用:用来静态包含其他页面(发生在翻译期间)。
如存在一个copyright.jsp文件,代码如下:
Copyright@ author:<% =request.getParameter("author") %><br> 2013-2017如果在其他JSP页面中,也需要这样的代码片段,就可以使用include指令进行包含,不需要重新编写。
如果index.jsp要包含copyright.jsp,只要在需要包含的位置加入如下代码即可:
<%@ include file="copyright.jsp"%>但是如下方式将会发生错误:(copyright.jsp?author=etc这个路径或文件不存在)
<%@ include file="copyright.jsp?author=etc"%>(include指令相当于将被包含页面中的代码复制粘贴到需要包含它的页面的代码中,file=””中的属性必须是已存在的文件,否则会报异常。如果被包含页面发生改变,主页面也会随之改变)
JSP动作
JSP中动作的语法与xml语法一致:
<jsp:action_name attribute1="value1" attribute2="value2">其中action_name表示动作的名字,attribute表示动作的属性。
(1)forward动作。
在JSP页面中进行请求转发。
<jsp:forward page="copyright.jap"> </jsp:forward>上述代码将请求转发到copyright.jsp页面,类似于servlet中调用RequestDispatcher的forward方法进行请求转发。
(2)include动作。
在JSP页面中,进行动态包含(发生在运行期间)。
<jsp:include page="copyright.jsp"> </jsp:include><jsp:include>是动态包含的,发生在运行期间,并将响应结果同包含页面的响应结果合并,生成最终的响应。类似于servlet中调用RequestDispatcher的include方法进行包含。因为是动态包含,所以可以在包含时传递请求参数。
<jsp:include page="copyright.jsp?author=etc"> </jsp:include>(3)param动作。
传递参数,param动作往往作为子动作使用,为forward和include动作传递参数。
<jsp:forward page="copyright.jsp"> <jsp:param name="author" value="etc"/> </jsp:forward> <jsp:include page="copyright.jsp"> <jsp:param name="author" value="etc"/> </jsp:include>上述代码使用param为forward和include动作传递参数。
相关文章推荐
- jsp常用指令、基本动作和9种内置对象
- jsp的常用指令有哪些(编译指令/动作指令整理)
- jsp的常用指令有哪些(编译指令/动作指令整理)
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- JSP学习笔记(JSP的三个编译指令,七个动作指令和常用的内置对象)
- jsp的常用指令有哪些(编译指令/动作指令整理)
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- jsp 4种常用语法3个编译指令7个动作指令
- 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别
- JSP动作指令(6个常用的动作指令)
- JSP之include指令和动作
- web day12 JSP三大指令,九个内置对象,动作标签,JavaBean(包含内省),EL表达式,函数库
- JSP:include指令与include动作的区别
- Jsp Include指令 与动作区别
- JSP中的基本语法和3指令,6动作,9内置对象
- Jsp的九大对象,七大动作,三大指令
- Jsp的九大对象,七大动作,三大指令
- JSP编译指令常用用法详解
- JSP常用指令
- jsp的include指令和include动作