`
dying
  • 浏览: 6157 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JSP标准动作

 
阅读更多

JSP标准动作元素的使用格式为:<jsp:标记名>,它采用严格的xml标签语法来表示.这些jsp标签动作元素是在用户请求阶段执行的,这些标准动作元素是内置在jsp文件中的,所以可以直接使用,不需要进行引用定义.

标准动作元素包括:

<jsp:useBean>:定义jsp页面使用一个JavaBean实例;

<jsp:setProperty>:设置一个JavaBean中的属性值;

<jsp:getProperty>:JavaBean中获取一个属性值;

<jsp:include>:JSP页面包含一个外在文件;

<jsp:forward>:把到达的请求转发另一个页面进行处理;

<jsp:param>:用于传递参数值;

<jsp:plugin>:用于指定在客户浏览器中插入插件的属性;

<jsp:params>:用于向HTML页面的插件传递参数值;

<jsp:fallback>:指定如何处理客户端不支持插件运行的情况;

JSP标准动作介绍

在该jsp页面被翻译成Servlet源代码的过程中,当容器遇到标准动作元素时,就调用与之相对应的Servlet类方法来代替它,所有标准动作元素的前面都有一个JSP前缀作为标记,一般形式如下:

<jsp:标记名属性…/>

有些标准动作中间还包含一个体,即一个标准动作元素中又包含了其他标准动作元素或者其他内容,包括体的标准动作的使用格式如下:

<jsp:标记名属性…>

<jsp:标记名属性以及参数…/>

</jsp:标记名>

根据各个标准动作的功能,可以将这些标准动作分成以下6:

1. jsp中使用到JavaBean的标准动作:<jsp:useBean> 定义使用一个JaveBean实例,ID属性定义了实例名称;<jsp:getProperty>从一个JavaBean中获取一个属性值,并将其添加到响应中;<jsp:setProperty>设置一个JavaBean中的属性值;

2. jsp中包含其他jsp文件或者web资源的标准动作:<jsp:include>在请求处理阶段包含来自一个Servlet或者jsp文件的响应,注意与include指令的不同;

3. 将到达的请求转发给另外一个jsp页面或者web资源以便进一步的操作的标准动作:<jsp:forward>将某个请求的处理转发到另一个Servlet或者jsp页面;

4. 在其他标准动作的中间指定参数的标准动作:<jsp:param>对使用<jsp:include>或者<jsp:forward>传递到另外一个Servlet或者jsp页面的请求添加一个传递参数值;

5. 在客户端的页面嵌入java对象(例如applet,是运行在客户端的小java程序)的标准动作:<jsp:plugin>根据浏览器类型为java插件生成Object或者Embed标记;<jsp:params>;<jsp:fallback>;

6. 仅仅用于标记文件的标准动作:

<jsp:attribute>;<jsp:body>;<jsp:invoke>;<jsp:dobody>;<jsp:element>;<jsp:text>;<jsp:output>.

<jsp:useBean>标准动作:

使用<jsp:useBean>标准动作可引用一个将在jsp页面中使用的javaBean,javaBean的使用实现了逻辑处理和页面显示在一定程度上的分离,从而可以增加代码的可重用性,如果将逻辑处理写在一个javaBean类中,在其他所有jsp页面程序中即可使用<jsp:useBean>标准动作来引用该javaBean,使用形式如下:

<jsp:useBean id=”name” class=”package.class” scope=”….” type=”…”/>

<jsp:useBean>标准动作还可以包含一个体,: <jsp:setProperty>动作,在第一次创建这个实例的时候,就会使用<jsp:setProperty>动作来进行参数的赋值操作,也就是说,如果该页面中以及存在了JavaBean类的实例,则不会再执行<jsp:setProperty>动作所进行的参数赋值.另外,<jsp:useBean>标准动作也并不意味着每次都要创建一个实例,如果页面中已经存在该JavaBean的实例,则只直接使用这个实例,使用形式如下:

<jsp:useBean id=”name” class=”package.class” scope=”….” type=”…”/>

<jsp:标记名属性以及参数…/>

……

</jsp:useBean>

代码说明: 使用class属性来指定需要实例化的JavaBean,然后使用id来标识该实例,type属性用来指定该实例化的JavaBean类将要实现的一个接口或者一个超类;scope属性可以用来指定该JavaBean实例能够关联到多个页面.

<jsp:useBean>标准动作元素中使用的属性如下:

1. id:给一个类实例取名并作为整个jsp页面的唯一标记,如果需要创建一个新的JaveBean实例,这也是引用这个新JavaBean实例的名称;

2. class:这是jsp页面引用javaBean组件的完整Java类名(一定要包括包名).如果容器没有找到指定名的类实例,则会使用这个class属性指定的完整类名来创建一个新的JavaBean实例进行引用.

3. type:此属性告诉容器这里的JavaBean实例需要实现一个Java接口,或者JavaBean实例需要扩展一个超类,再翻译阶段会使用到这个属性,type属性不是必须添加,但是必须添加classtype属性中多个一个.

4. scope:指定这个JavaBean再哪种上下文内可用,该属性可以取下面的4个值之一:page,request,session,application; page表示该JavaBean只有再当前页面内可用(保存在当前页面的PageContext);request表示该JavaBean再当前的客户请求内有效(保存在ServletRequest对象内);session表示该JavaBean对当前httpSession内的所有页面都有效.

<jsp:setProperty>标准动作

使用<jsp:setProperty>动作可以修改JavaBean实例种的属性变量,其中可以有两种使用形式:

1.<jsp:setProperty>标准动作嵌入在<jsp:useBean>标准动作的体内,但这时只能在JavaBean被创建的实例中执行,使用形式如下:
<jsp:useBean id=”myName” …>

<jsp:setProperty name=”myName” property=”someProperty”…/>

</jsp:useBean>

2.<jsp:useBean>动作的后面使用<jsp:setProperty>标准动作元素,使用形式如下:
<jsp:useBean id=”myName” …/>

<jsp:setProperty name=”myName” property=”someProperty”…/>

代码说明: 不管指定的JavaBean是新创建的还是直接使用的实例,<jsp:useBean>动作之后使用的<jsp:setProperty >标准动作都会被执行,.其中<jsp:setProperty >共有4个属性可以选择设置:

1. name:这个属性是必须设置的,因为通过这个属性才能知道针对哪个JavaBean实例的属性进行设置;

2. property:也是必须设置的,它告诉容器需要对JavaBean实例中的哪些属性进行设置,这里有个特殊的用法,就是把property属性设置为”*”,该设置表示所有名字与JavaBean属性名字匹配的请求参数都被传递给相应属性的set方法.

3. value:这个属性是可选的,指定JavaBean属性的值;

4. param:这个属性和value属性不能同时使用,二者之间只能使用一个,当两个属性都没有在<jsp:setProperty >动作中指定时,指定的属性变量将使用JavaBean中的默认值(例如构造函数中的默认值),如果使用param属性,容器就会把property指定的属性变量设置为param指定的请求参数的值.

<jsp:getProperty >标准动作:

该标准动作与前一个<jsp:setProperty >标准动作相对应,用来提取指定的JavaBean属性值,然后转换成字符串输出,该动作有两个必须要设置的属性,

1. name:表示JavaBeanjsp中的标记;

2. property:表示提取JavaBean中哪个属性的值.

:

…..

<html>

<body>

<!—定义一个类实例,testBean作为标记,并给message属性赋值”hello” -- >

<jsp:useBean id=”testBean” class=”com.helloworld.SimpleBean”>

<jsp:setProperty name=”testBean” property=”message” value=”Hello”/>

</jsp:useBean>

<H1>通过<jsp:getProperty>动作得到message属性值;</H1>

<I><jsp:getProperty name=”testBean” property=”message”/></I>

<! – 重新给message赋值 -- >

<jsp:setProperty name=”testBean” property=”message” value=”hello World”/>

<! – 利用EL表达式获取message的值 -- >

${testBean.message}

</body>

</html>

-----------------JavaBean--------

Package com.helloworld;

Public class SimpleBean{

Private String message=””;

Public String getMessage(){

Return this message;

}

Public void setMessage(String message){

This.message=message;

}

}

引用外部文件的标准动作<jsp:include>

该标准动作与前面介绍的include指令方法非常类似,也是将特定的外在文件插入到当前页面中,其使用语法如下:

<jsp:include page=”…url…” flush=”true|false”/>

该标准动作还可以包含一个体,具体形式如下:

<jsp:include page=”…url…” flush=”true|false”/>

<jsp:param …/>

</jsp:include>

通过在<jsp:include>动作体中使用<jsp:param>动作,可以用来指定jsp页面中可用的其他请求参数,之后可以在当前的jsp文件以及引用的外在文件中使用这些请求参数.

在这着重说明就是<include>指令与<jsp:include>动作存在的差异.Include指令是在jsp翻译时进行文件的合并,然后对合并的整体文件进行编译;<jsp:include>标准动作则首先进行自身的翻译和编译,然后在用户请求阶段进行二进制文件的合并.

进行请求转移的标准动作<jsp:forward>

<jsp:forward>标准动作把请求转移到另外一个页面,这个标准动作只有一个属性page,page属性包含一个相对url地址,:

<jsp:forward page=”/utils/errorReporter.jsp”/>

<jsp:forward page=”<%=someJavaExpression %>” />

第一行的page值是直接给出的,第二行的<jsp:forward>标准动作中的page值是在请求时动态计算的.

参数设置的标准动作<jsp:param>

<jsp:param>标准动作一般与<jsp:include>以及<jsp:forward>等配套使用,用来进行参数的传递,其一般形式如下:

<jsp:param name=”…名称…” value=”……”/>

每个<jsp:param>标准动作都会创建一个即有名又有值的参数,这样可以通过<jsp:include>标准动作所包含的外在文件以及通过<jsp:forward>转移到另外页面,都可以使用这些参数,:

<html>

<body>

<jsp:include page=”date.jsp”>

<jsp:param name=”serverName” value=”zzb”/>

</jsp:include>

</body>

</html>

则说明在请求时所包含的date.jsp文件可以使用通过<jsp:param>标准动作定义的serverName参数.

处理插件的标准动作

1. <jsp:plugin>:用于指定在客户端运行的插件;

2. <jsp:params>:用于向引用的插件传递参数值,一般包含在<jsp:plugin>动作体内;

3. <jsp:fallback>:当客户端不支持java插件时所执行的内容;

<jsp:plugin>标准动作

使用<jsp:plugin>标准动作可以在页面程序中插入一个java插件,一般为java applet小程序(也可以是任何javaBean),它随着页面程序一起传输到客户端,并且在客户端运息, <jsp:plugin>标准动作的一般使用形式如下:

<jsp:plugin type=”…applet 或者 JavaBean…” code=”…” codebase=”…” archive=”…” …>

</jsp:plugin>

在该动作中可以设置多个属性,其中大部分是<object>或者<EMBED>标记的HTML属性,:name,code,codebase,archive,align,width,height,jreversion,title.其中type属性用来指定该插件是applet小程序还是JavaBean.

<jsp:params>标准动作

<jsp:params>标准动作的体由多个<jsp:param>动作组成,并且该标准动作只能使用在<jsp:plugin>标记的体中,一般使用形式如下:

<jsp:plugin type=”…applet|JavaBean…” code=”…” …>

<jsp:params>

<jsp:param …/>

<jsp:param …/>

</jsp:params>

</jsp:plugin>

说明:<jsp:params>动作体中包括多个<jsp:param>动作来给插件类中的属性变量赋值,每一个<jsp:param>给运行在客户端的插件传递一个参数.

<jsp:fallback>标准动作

该标签是与<jsp:plugin>标准动作配合使用的,它告诉客户端浏览器当客户端不支持该插件运行时将要显示的HTML页面或者jsp代码,以下是该标准动作的一般使用形式:

<jsp:fallback>

客户端浏览器不支持插件运行时显示html或者jsp代码

</jsp:fallback>

说明:体中嵌入的代码只有在客户端不支持该插件运行时才被执行.

分享到:
评论

相关推荐

    jsp标准动作

    jsp 标准动作详解 jsp 标准动作是 JSP 页面中的一种重要组件,用于控制 Servlet 引擎的行为。jsp 标准动作利用 XML 语法格式的标记来实现动态地插入文件、重用 JavaBean 组件、把用户重定向到另外的页面、为 Java ...

    JSP 标准动作的WORD文档

    在本篇文档中,我们将深入探讨JSP标准动作,特别是其中的`&lt;jsp:useBean&gt;`、`&lt;jsp:setProperty&gt;`、`&lt;jsp:getProperty&gt;`、`&lt;jsp:include&gt;`和`&lt;jsp:forward&gt;`。这些动作是JSP中用于处理JavaBean和页面交互的关键元素,...

    JSP标准动作文档 java

    ### JSP标准动作详解 #### 一、概述 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于动态网页开发。JSP提供了多种标准动作元素,简化了开发者的工作流程,并增强了Web应用的功能性和灵活性。...

    javaBean和JSP标准动作.rar

    在JSP页面中,我们通过使用隐式对象可以更加方便地实现我们的效果。隐式对象包含: request response out ---- 输入输出对象 pageContext session application ---- 应用作用域对象 page config ---- Servlet对象...

    关于JSP标准动作实例

    本实例旨在深入解析JSP标准动作的使用,帮助开发者更好地理解和应用这些功能。 JSP标准动作分为五类:`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `&lt;jsp:param&gt;`, `&lt;jsp:useBean&gt;`, 和 `&lt;jsp:setProperty&gt;`。让我们逐一探讨...

    jsp标准动作javajava

    【JSP标准动作详解】 JSP(JavaServer Pages)标准动作是JSP中的一种机制,允许开发者使用XML样式的标签来控制Servlet引擎的行为,从而简化Web应用开发。这些动作提供了许多功能,例如插入静态或动态内容、重用...

    JavaBean与JSP标准动作.ppt

    JavaBean和JSP标准动作是Java Web开发中的重要概念,它们在构建动态Web应用程序时起着核心作用。这里我们将深入探讨这两个主题,并结合相关内容进行详细解释。 首先,JavaBean是一种符合特定规范的Java类,它通常...

    JSP编程小技巧-已整理 (例:文件上传,图片验证码,JSP标准动作.....)

    这个“JSP编程小技巧”压缩包文件包含了关于JSP开发的一些实用技巧,如文件上传、图片验证码以及JSP标准动作等常见功能的实现。以下是对这些知识点的详细说明: 1. **文件上传**: 文件上传是Web应用中常见的功能...

    jsp主要九大内置对象、四大web域、两种包含、两种注释、几个jsp标准动作

    NULL 博文链接:https://1601844782.iteye.com/blog/2274248

    04-JSP标准动作.ppt

    04-JSP标准动作.ppt

    jsp标准语法中7大动作 简记(经典)

    在JavaServer Pages (JSP) 技术中,七大标准动作是开发动态网页的重要组成部分。这些动作提供了在页面上操作数据、控制流程和与服务器交互的功能。以下是对JSP七大标准动作的详细解释: 1. **&lt;jsp:include&gt;** 这...

    JavaBean 和 JSP 中 的标准动作

    JavaBean 和 JSP 中的标准动作学习

    JavaBean和JSP中的标准动作_总结与作业

    在JSP中,JavaBean通常作为数据模型来使用,而JSP标准动作则提供了一种方便的方式来操作这些JavaBean。 首先,要创建一个JavaBean,它需要满足以下三个条件: 1. 类必须是公共的(public)。 2. 类必须有一个无参数...

    JavaBean和JSP中的标准动作

    JSP 标准动作(JSP Standard Tag Library, JSTL)提供了更强大的功能,包括数据处理、流程控制、XML 处理等,它们可以替代某些 JSP 内联脚本,使 JSP 页面更加清晰,遵循 MVC(Model-View-Controller)设计模式,有...

    JavaBean与标准动作

    掌握JavaBean的概念 会使用JSP标准动作

    jsp标准标签标准动作

    在这里,我们将深入探讨"常用jsp标准标签"和"标准动作"。 1. **Core库** Core库是JSTL中最基本的库,它包含了许多与HTML元素相似的功能标签,如`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`、`...

    jsp动作jsp动作jsp动作jsp动作jsp动作jsp动作

    2. **JSP标准动作**:JSP标准动作是一组预定义的标签,如`&lt;jsp:useBean&gt;`、`&lt;jsp:setProperty&gt;`、`&lt;jsp:getProperty&gt;`、`&lt;jsp:include&gt;`和`&lt;jsp:forward&gt;`,它们提供了与JavaBean交互以及控制页面流程的功能。...

    标准jsp标准jsp

    3. **动作元素**:例如`&lt;jsp:useBean&gt;`, `&lt;jsp:setProperty&gt;`, `&lt;jsp:getProperty&gt;`等,用于管理JavaBean对象,实现数据绑定。 4. **脚本元素**:包括`&lt;%-- ... --%&gt;`(注释)、`! ... %&gt;`(声明)、`&lt;%= ... %&gt;`...

Global site tag (gtag.js) - Google Analytics