jsp 七大动作指令
1) jsp:include 指令
用于在请求处理阶段包含来自一个Servlet或jsp页面的响应。和编译指令中的include不同,include只能用于包含静态页面,而jsp:include指令则可以包含静态和动态页面。 格式:
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 指令
用于执行页面转向,将请求的处理转发到下一页面。
格式:
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实例
格式:
<jsp:useBean id=”javaBean的名称” scope=”有效范围” class=”包名.类名”></jsp:useBean>
说明: id属性指定了javaBean的名称,只要是在他的有效范围内,均可以使用这个名称来调用他。
Scope属性为javaBean的有效范围(四大范围:request、page、session、application),class属性指定了javaBean所属的类(包名.类名)。
4) jsp:setProparty 指令
用来设置Bean对象的属性
格式:
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对象的属性,并将其转换为一个字符串显示在页面上。 格式:
<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指令的语法格式如下
<%@ include file="Relative Url"%>
(2)include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
jsp:include动作的完整语法如下
<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动作,这是因为它在代码维护上的优势远胜过其在功能上的不足。
分享到:
相关推荐
本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`<jsp:include>`, `<jsp:forward>`, `<jsp:fallback>`, `<jsp:plugin>`。 首先,`page`指令是JSP中最高级别的指令,它用于定义整个JSP页面的属性。`...
02-JSP脚本元素指令及动作.ppt
**JSP的7个动作指令**: 1. **<jsp:include>**:与编译指令类似,但它是运行时动态包含页面,可以接受请求参数。 2. **<jsp:forward>**:将请求转发到另一个页面,常用于页面跳转。 3. **<jsp:param>**:与<jsp:...
### 实验2 JSP指令标记与JSP动作标记(3.20)——知识点解析 #### 实验背景及目标 本次实验旨在加深学生对JSP技术的理解与运用能力,特别是针对JSP指令标记与JSP动作标记的学习。通过具体的操作实践,使学生能够熟练...
实验2的内容主要围绕JSP动作标记中的include和forward动作标记来展开,通过实验练习掌握这些动作标记的使用方法和它们对页面动态加载及转向控制的应用。 首先,include动作标记是用于在JSP页面运行时动态地包含其他...
实验目的:掌握3种脚本、page和include指令、<jsp:include>和<jsp:forward>动作。 实验内容: 1. 编写一个页面片段top.jspf,作用是显示网站名称和日期(服务器时间)。显示内容如下: 作业3网站 今天是:2014-02-...
### JSP九个内置对象 六个基本动作 三个指令元素 #### 四种属性范围 在JSP中,有四种不同的属性范围,这些范围决定了属性的生命周期与可见性: 1. **Page Scope (页面作用域)**:仅在一个JSP页面内有效。一旦该...
总的来说,理解并熟练运用JSP的脚本、指令和动作元素是成为一名合格的Java Web开发者的基础,这有助于创建功能丰富的、动态的、交互性强的Web应用程序。通过不断的实践和学习,开发者可以更好地驾驭这些元素,提升...
### **三、JSP动作元素** 动作元素是XML格式,用于执行特定的任务,它们由JSP容器解释执行。常见的有: 1. **jsp:include**: 类似于包含指令,但支持动态包含,可以传入参数。 2. **jsp:forward**: 将请求转发到另...
JSP动作标签是JSP中用于执行特定操作的一种方式,它们以`<jsp:action>`的形式存在。本篇文章主要探讨JSP中的五个关键动作,并对比`<jsp:include>`指令和动作的区别。 1. **创建Bean对象**: `<jsp:useBean>`动作...
### 实验2_Jsp语法 -页面基本结构、指令标记和动作标记 #### 实验概述 本次实验主要聚焦于JSP(JavaServer Pages)的基本语法学习,涵盖了页面的基本结构、指令标记以及动作标记的运用。实验旨在使参与者能够熟练...
- D选项描述的是JSP动作标签的开始与结束标记,如`<jsp:include>`等。 **1.2 jsp代码 `“1+4”%>` 将输出:** - **正确答案:A** - **解析:** 在JSP中,`<%= %>`用于输出表达式的值。这里字符串`"1+4"`被直接...
JSP动作元素不直接执行Java代码,而是指示服务器执行特定的操作。例如: - `<jsp:include>`:动态包含其他资源。 - `<jsp:forward>`:转发请求到另一个URL。 - `<jsp:params>`:传递参数给包含或转发的页面。 **7. ...
JSP指令是JSP页面中的特殊元素,以`开头,`%>`结尾,它们不像JSP动作元素那样在运行时生成HTML,而是对JSP引擎提供指令,告诉它如何处理页面。JSP指令主要有三种类型:`page`、`include`和`taglib`。 **page指令**...
除了编译指令外,JSP还提供了一组动作指令,用于实现更复杂的功能,如页面跳转、数据处理等。 ##### 1. Jsp:Forward **功能描述**: - 用于在应用程序内转发请求到另一个资源。 **语法**: ```jsp <jsp:forward ...
JSP 动作元素的使用使得开发者能更灵活地控制页面的行为,而指令则提供了对页面整体配置的能力。两者结合,使得JSP成为了一个强大的动态网页开发工具。在实际应用中,合理运用这些指令和动作元素,能够提高代码的...
在JavaServer Pages (JSP) 技术中,存在两种包含关系:`<jsp:include>` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `<jsp:include...
理解其中两种重要的指令类型:编译指令和动作指令,对于编写高效的JSP页面至关重要。编译指令和动作指令在JSP页面中扮演着不同的角色,它们有着明显的区别和用途。 首先,我们要明确编译指令是什么。编译指令是在...
1. **`<jsp:useBean>`**:这个动作用于在 JSP 页面中实例化一个 JavaBean 或查找现有的 JavaBean 实例。如果找不到,则会尝试按照指定的类名创建一个新的实例。 2. **`<jsp:setProperty>`**:设置 JavaBean 的属性值...