jsp七大动作指令
jsp 七大动作指令 1) jsp:include 指令 用于在请求处理阶段包含来自一个Servlet或jsp页面的响应。和编译指令中的include不同,include只能用于包含静态页面,而jsp:include指令则可以包含静态和动态页面。 格式:
Java代码
- 1.<jsp:include page=”文件路径”/> --------(静态页面)
- 2.<jsp:include page=”文件路径”> --------(动态页面)
- <jsp:param name=”参数名1” value=”参数值1”/>
- .....
- <jsp:param name=”参数名n” value=”参数值n”/>
- </jsp:include>
2) jsp:forword 指令 用于执行页面转向,将请求的处理转发到下一页面。 格式:
Java代码
- 1.<jsp:forword page=”文件路径”/> ------(跳向静态页面)
- 2.<jsp:forword page=”文件路径”> ------(跳向动态页面)
- <jsp:param name=”参数名1” value=”参数值1”/>
- …….
- <jsp:param name=”参数名n” value=”参数值n”/>
- </jsp:forword>
3) jsp:useBean 指令 用来在jsp页面内创建一个JavaBean实例 格式:
Java代码
- <jsp:useBean id=”javaBean的名称” scope=”有效范围” class=”包名.类名”></jsp:useBean>
说明: id属性指定了javaBean的名称,只要是在他的有效范围内,均可以使用这个名称来调用他。Scope属性为javaBean的有效范围(四大范围:request、page、session、application),class属性指定了javaBean所属的类(包名.类名)。 4) jsp:setProparty 指令 用来设置Bean对象的属性 格式:
Java代码
- 1.<jsp:setProparty name=”javaBean名称” proparty=”*” />
- 2.<jsp:setProparty name=”javaBean名称” proparty=”属性名” />
- 3. <jsp:setProparty name=”javaBean名称” proparty=”属性名” param=”参数名” />
- 4. <jsp:setProparty name=”javaBean名称” proparty=”属性名” value=”属性值” />
说明:proparty=”*”时,表示保存用户在jsp页面中输入的所有值,用于匹配javaBean的属性。当proparty有具体的值时,表示匹配Bean的一个属性。Param属性表示根据指定的request对象中的参数与属性匹配。Value属性表示使用指定的值来设置Bean的属性。 5) jsp:getProparty 指令 用来读取Bean对象的属性,并将其转换为一个字符串显示在页面上。 格式:
Java代码
- <jsp:getProparty name=”bean的名称” proparty=”属性名称”/>
6) jsp:plugin 指令(不常用)用于下载服务器端的javaBean或Applet到客户端执行。 7) jsp:param 指令(不常用)用于设置参数,不能单独使用,主要用在jsp:include jsp:forword jsp:plugin指令中。 注意:include指令和include动作都能实现将外部文档包含到JSP文档中的功能,名称也很相似,非常容易混淆。include指令和include动作到底有什么分别,哪一种方式会更好呢? (1).include指令 include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。include指令的语法格式如下
Java代码
- <%@ include file="Relative Url"%>
(2)include动作 jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。 jsp:include动作的完整语法如下
Java代码
- <jsp:include page="Relative path to resource"flush="true">
其中jsp:include之间不能有空格,page属性指定被包含的页面,这个属性是必需的,是指向某种资源的相对URL。如果这个相对URL不是以/开头,则将其解释为相对于主页面的路径;如果是以/开头,是这个URL被解释为相对于当前WEB应用的根目录,而不是服务器的根目录,这是因为该URL是由服务器来解释的,不是由用户的浏览器来解释的。像下面这行代码,是由用户的浏览器进行解释的,因此会按照相对于服务器的根目录进行解释。
flush属性是一个可选的次级属性,默认值为false,它指定在将页面包含进来之前是否应该清空主页面的输出流。
注意:在JSP1.1中,flush是必需的属性,而且聚会只能是true。 (3).两者的区别和比较 jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。两者之间的差异决定着它们在使用上的区别。使用include指令的页面要比使用jsp:include动作的页面难于维护。
前面已经说过,使用JSP指令,如果包含的JSP页面发生变化,那么用到这个页面的所有页面都需要手动更新。在JSP服务器的相关规范中并没要求能够检测出包含的文件什么时候发生改变,实际上大多数服务器页都有去实现这种机制。这样就会导致十分严重的维护问题,需要记住所有包含某一个页面的其他页面,或者重新编译所有的页面,以使更改能够生效。在这点上,jsp:include就体现出了十分巨大的优势,它在每次请求时重新把资源包含进来。在实现文件包含上,应该尽可能地使用jsp:include动作。
jsp:include动作直比于include指令在维护上有着明显优势,而include指令仍然能够得以存在,自然在其他方面有特殊的优势。这个优势就是include指令的功能更强大,执行速度也稍快。include指令允许所包含的文件中含有影响主页面的JSP代码,比如响应报送的设置和属性方法的定义。了解到jsp:include动作和include指令各自的功能和区别,在使用时,就可以通过考虑各方面的因素,来决定使用哪一种方式。尽管各自都有一定的优缺点,在实际使用中,还是应优先考虑使用jsp:include动作,这是因为它在代码维护上的优势远胜过其在功能上的不足。
技术分享:www.kaige123.com
jsp七大动作指令的更多相关文章
- jsp七大动作和三大指令
一:include 动态包含(分别编译):用jsp:include动作实现<jsp: include page="included.jsp" flush="true ...
- jsp:include 动作指令 与 include 指令
include动作指令可以在JSP页面中动态包含一个文件,这与include指令不同,前者可以动态包含一个文件,文件的内容可以是静态的文件也可以是动态的脚本,而且当包含的动态文件被修改的时候JSP引擎 ...
- JSP七大动作
- Jsp的九大对象,七大动作,三大指令
jsp九大内置对象:1>out 向客户端输出数据,字节流.如out.print(" dgaweyr"); 2>request 接收客户端的http请求.String g ...
- JSP三大指令、七大动作、九大对象
<%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...
- jsp笔记2(编译指令与动作指令)
一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令 include:包含另一个页面的指令 taglib:用于定义和访问自定义标签 ...
- IT兄弟连 JavaWeb教程 JSP动作指令
JSP动作指令语法 JSP动作指令语法格式如下: <jsp:动作名 属性名1="属性值1" 属性名2="属性值2" ... %> JSP具体动作指令 ...
- jsp九大内置对象 ,三大指令,四大作用域,七大动作
九大内置对象: application:应用程序对象 对整个web工程都有效 request:对当前请求的封装 pageConfig:只对当前页面有效,里面封装了基本request和session的对 ...
- JSP九大内置对象,七大动作,三大指令
JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...
随机推荐
- hdu 1233 还是畅通工程 解题报告
题目链接:http://code.hdu.edu.cn/showproblem.php?pid=1233 并查集的运用, 实质就是求最小生成树.先对所有的村庄距离从小到大排序,然后判断村庄之间是否属于 ...
- 【linux】awk的使用
教程来自:http://www.runoob.com/linux/linux-comm-awk.html 教程中的例子很好,可以有助于快速上手awk.但是里面的细节介绍的并不清楚. 问题1:什么时候写 ...
- CodeForces - 405C
Unusual Product Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- HDU 4334 Trouble (暴力)
Trouble Time Limit: 5000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Submit Statu ...
- java中String类型转换方法
integer to String : int i = 42;String str = Integer.toString(i);orString str = "" + i doub ...
- Linux网络编程必看书籍推荐
首先要说讲述计算机网络和TCP/IP的书很多. 先要学习网络知识才谈得上编程 讲述计算机网络的最经典的当属Andrew S.Tanenbaum的<计算机网络>第五版,这本书难易适中. &l ...
- OGNL表达式struts2标签“%,#,$”
一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGN ...
- Solr学习笔记(一)
最近准备为一个产品做一个站内的搜索引擎,是一个java产品.由于原来做过Lucene.net,所以自然而然的就想到了使用Lucene.在复习Lucene的过程中发现了Solr这个和Lucene绑定在一 ...
- Java查询网址
Java在线帮助文档: http://docs.oracle.com/javase/8/docs/technotes/guides/desc_jdk_structure.html Java小知识讲解: ...
- Android图形基础
Android图形基础 Android在其android.graphics包中提供了完整的本机二维图像库. Color类,代表颜色,是用4个数字表示的,透明度.红色.绿色和蓝色(Alpha.Red.G ...