JSP动作元素的组成及作用

JSP使用Action来控制Servlet引擎的行为,可重复使用JavaBean组件。

常用Action:

  • jsp:param        在 jsp:include、jsp:forward、jsp:params 块之间使用,指定一个将加入请求的当前参数组中的参数。
  • jsp:include         在文件需要时包含一个文件。
  • jsp:forward        将用户导向一个新的页面。
  • jsp:plugin          在 JSP 页面中引入插件。
  • jsp:params           可以传递参数给Applet 或 Bean。
  • jsp:fallback           提供一段文字用于不能正常启动 Applet 或 Bean时,浏览器显示出的一段错误信息。
  • jsp:useBean          声明使用一个JavaBean。
  • jsp:setProperty     设置 Bean 中的属性值。
  • jsp:getProperty     获取 Bean 中的属性值。

详细说明:

1.<jsp:param>

  语法格式:

  <jsp:param name="name" value="value" />

  提示!!!

  当使用<jsp:include>、<jsp:forward>时,被包含或将转去的页面可以得到原页面的request 对象,而新的参数是加在原参数之前,且在使用时新参数值将优先处理,新参数值也是在<jsp:forward>调用时才有效。

2.<jsp:include>

  语法格式:

<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />

或者

<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />

  <jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />

</jsp:include>

  提示!!!

  静态文件和动态文件机制的区别如下:

  在指令<%@include file=?>中将被包含的资源看作是一个静态对象,将所有的字节都包含进去。而在行为<jsp:include page=/>中将被包含的资源看作是一个动态对象,request 对象被送到该对象,然后将执行结果包含进来。include 指令是在将 JSP 页面翻译成 Servlet 时将被包含文件插入到文件中,而include 行为是在请求时就将内容插入。

  3.<jsp:forward>

  语法格式:

<jsp:forward page={"relativeURL" | "<%= expression%>" } />

或者

<jsp:forward page="{relativeURL | <%= expression%>}">

  <jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />

</jsp:forward>

  • <jsp:forward>元素允许在运行时分派当前的 request 对象到其他 JSP 页面或 Java Servlet 类等。且它有效地终止了当前页的执行,即<jsp:forward>标签以下的代码将不能执行。
  • 可以向目标文件传送参数和值,如果使用的是<jsp:param>标签,目标必须是一个动态的文件,能够处理参数。
  • 如果使用了缓冲输出,则在 request 对象被转交前,缓冲区将被清空。如果使用了非缓冲输出,那么使用<jsp:forward>时就要注意。如果在使用<jsp:forward>之前,JSP文件已经有了数据,那么forward将导致IllegalStateException异常的发生。

  4.<jsp:plugin>

  语法格式:

<jsp:plugin

type="bean | applet"  /*指定被执行的对象类型*/

code="classFileName"  /*设定将被 Java Plugin 执行的 Java 类名称,必须以.class 结尾*/

codebase="classFileDirectoryName"  /*设定将被执行的 Java 类的目录*/

[ name="instanceName" ]  /*表示Bean 或 Applet 的名称*/

[ archive="URLToArchive, ..." ]  /*一些由逗号分开的路径名,用于预先加载一些将要使用的类*/

[ align="bottom | top | middle | left | right" ]  /*设置图形、对象、Applet 的位置*/

[ height="displayPixels" ]    /*显示 Applet 或 Bean 的长的值,单位为像素*/

[ width="displayPixels" ]     /*显示 Applet 或 Bean 的宽的值,单位为像素*/

[ hspace="leftRightPixels" ]   /*表示 Applet 或 Bean 显示在屏幕左右所留下的空间,单位为像素*/

[ vspace="topBottomPixels" ]  /*表示 Applet 或 Bean 显示在屏幕左右所留下的空间,单位为像素*/

[ jreversion="JREVersionNumber | 1.1" ]  /*表示 Applet 或 Bean 执行时所需的 Java Runtime Environment(JRE)版本*/

[ nspluginurl="URLToPlugin" ]  /*表示Netspace Navigator 用户能够使用的JRE的下载地址,此值为一个标准的URL*/

[ iepluginurl="URLToPlugin" ]  /*表示IE用户能够使用的JRE的下载地址,此值为一个标准的URL*/

[ <jsp:params>        /*用于传送参数给 Applet 或 Bean*/

<jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />

</jsp:params> ]

[ <jsp:fallback>        /*提供一段文字用于不能正常启动 Applet 或 Baen 时,浏览器显示出的一段错误信息*/

    text message for user

</jsp:fallback> ]

</jsp:plugin>


JavaBean组件技术

  1.<jsp:useBean>

  此Action 元素用于创建一个 Bean 实例并指定它的名称和作用范围,语法格式如下:

  <jsp:useBean>

    id="beanInstanceName"

    scope="page | request | session | application"

    {

      class="package.class" |

      type="package.class" |

      class="package.class" type="package.class" |

      beanName="{package.class | <%= expression %>}" type="package.class"

    }

  {

    /> | > other elements (body) </jsp:useBean>

  }

  2.<jsp:setProperty>

  此Action 元素用于设置 Bean 中的属性值,语法格式如下:

  <jsp:setProperty

    name="beanInstanceName"

    {

      property="*" |

      property="propertyName" [ param="parameterName" ] |

      property="propertyName" value="{string | <%= expression %>}"

    }

  />

  3.<jsp:getProperty>

  此Action 元素用于获取 Bean 中的属性值,语法格式如下:

  <jsp:getProperty name="beanInstanceName" property="propertyName" />

  <jsp:getProperty>将其转化为字符串,并保存在 out 对象中。


理论至此结束,敬请关注实践篇!

JSP动作元素——————理论篇的更多相关文章

  1. JSP动作元素

    JSP动作元素分类 <jsp:include page="content.jsp"></jsp:include> 使用<%@ include%> ...

  2. JSP 动作元素

    JSP动作元素 1.  动作元素分类 用来动态的包含文件.网页跳转及使用JavaBean组件等. 语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX&g ...

  3. JSP6(JSP 指令与JSP 动作元素)

    一.JSP指令用来设置整个JSP页面相关的属性 指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开. JSP中的三种指令标签: Page指令 Page指令为容器提供当前页面的使用说明.一个JS ...

  4. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  5. Tip:JSP标签也称之为Jsp Action(JSP动作)元素

    JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ &l ...

  6. 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  7. 【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(<jsp:setProperty.....>、<jsp:getProperty.....>)

    内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean ...

  8. #1122 JSP动作元素

    JSP动作元素 与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用.JSP动作元素是用XML语法写成的. 利用JSP动作可以动态地插入文件.重用JavaBean组件.把用户重定向到另外的页面 ...

  9. JSP动作元素——————实践篇

    本篇在理论的基础上实现不同JSP页面间的跳转 使用 Eclipse Java EE IDE 创建一个新的 Java Web 项目,具体步骤如下: (1)启动 Eclipse Java EE IDE,在 ...

随机推荐

  1. 开始学nodejs —— 调试篇

    新学习一种技术,肯定会遇到很多坑,我们需要找到这些坑,弄清楚这些坑出现的原因和其中的原理.这种操作就叫做调试. 程序调试的方法和工具多种多样,在这里我总结一下我在学习nodejs的过程中,学到的和用到 ...

  2. 如何通过官方渠道为Windows 10 添加具有中国特色的字体

    Windows 10的变化细节上个人认为要比Windows 8多很多,而且很多功能找到之后还是小惊喜,就是挺多好用的地方居然都不正经宣传一下,微软真是搞得悄悄地干活? 今天为大家介绍一下通过官方途径添 ...

  3. u-boot源码汇编段简要分析

    Hi,大家好!我是CrazyCatJack,你们可以叫我CCJ或者疯猫.今天我给大家带来的是u-boot的源代码汇编段分析,以后还会给大家讲解后续的C代码,请持续关注哦^_^ 先简单说一下u-boot ...

  4. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  5. HTML课上小结

    HTML翻译为超文本标记语言<标签名>内容</标签名>静态网页动态网页的区别是看是否从数据中提取数据一般网页由几部分组分组成<html>开始标签 <head& ...

  6. 一段良好的程序永远不应该发生panic异常

    panic来自被调函数的信号,表示发生了某个已知的bug.一段良好的程序永远不应该发生panic异常 对于大部分程序而言,永远无法保证能够成功运行,因为错误原因往往超出程序员的控制范围.任何进行io操 ...

  7. FunDA(2)- Streaming Data Operation:流式数据操作

    在上一集的讨论里我们介绍并实现了强类型返回结果行.使用强类型主要的目的是当我们把后端数据库SQL批次操作搬到内存里转变成数据流式按行操作时能更方便.准确.高效地选定数据字段.在上集讨论示范里我们用集合 ...

  8. STL: unordered_map 自定义键值使用

    使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...

  9. IOS 2D游戏开发框架 SpriteKit-->续(创建用户角色精灵--原创)

    一.主要实现   今天spritekit实现创建玩家角色精灵(SKSpriteNode *), 增加角色精灵的手势操作,这里增加的手势计算方法与objective-c中是不一样的,因为objectiv ...

  10. windows go安装

    1.安装git 因为golang是通过git来管理远程包的,所以我们首先要安装git,下载地址:http://www.git-scm.com/download/. git安装比较简单,直接下一步即可( ...