`

JSP相关技术详解八(Jsp基础语法-Jsp的七个动作指令)

阅读更多
  动作指令与编译指令不间,编译指令是通知 Servlet 引擎的处理消息,而动作指令只是运行时的脚本动作。编译指令在将JSP 编译成 Servlet 时起作用:处理指令通常可替换成 Java脚本,是 JSP脚本的标准化写法。

JSP7 个 动作指令如下 :

jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。
jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用。
jsp:include: 用于动态引入一个 JSP 页面。
jsp:p1ugin: 用于下载 JavaBean 或 Applet 到客户端执行。
jsp:useBean: 使用 JavaBean。
jsp:setProperty: 修改 JavaBean 实例的属性值。
jsp:getProperty: 获取 JavaBean 实例的属性值。

forward指令  
forward指令用于将页面响应转发给另外的页面。既可以转发给静态的HTML页面,也可以转发到动态的JSP页面,或者转发到容器中的Servlet。  

JSP的forward指令的格式如下。  
对于JSP 1.0,使用如下语法:  

<jsp:forward page="{relativeURL|<%=expression%>}"/>   
对于JSP 1.1以上,可使用如下语法:  
<jsp:forward page="{relativeURL|<%=expression%>}">  
{<jsp:param.../>}   
</jsp:forward>  

第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter()方法获取。  
下面示例页面使用了forward动作指令来转发用户请求。  

<jsp:forward page="forward-result.jsp">  
<jsp:param name="age" value="29"/>  
</jsp:forward>  

将客户端请求转发到forward-result.jsp页面,转发请求时增加了一个请求参数:参数名为age,参数值为29。  
在forward-result.jsp页面中,使用request内置对象(request内置对象是HttpServletRequest的实例)来获取增加的请求参数值。  

<!-- 使用request内置对象获取age参数的值 -->  
<%=request.getParameter("age")%>  
 
执行forward指令转发请求时,客户端的请求参数不会丢失。
执行forward指令转发请求时,用户请求的地址没有发生变化,但页面内容完全变为被forward目标页的内容。
  
include指令  

include指令是一个动态include指令,也用于导入某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。  

下面是include动作指令的语法格式:  
<jsp:include page="{relativeURL│<%=expression%>}" flush="true"/>   
或者  
<jsp:include page="{relativeURL│<%=expression%>}" flush="true">   
<jsp:param name="parameterName" value="patameterValue"/>   
</jsp:include>  

flush属性用于指定输出缓存是否转移到被导入文件中。如果指定为true,则包含在被导入文件中;如果指定为false,则包含在原文件中。对于JSP 1.1旧版本,只能设置为false。  
对于第二种语法格式,则可在被导入页面中加入额外的请求参数。  
下面页面使用了动态导入语法来导入指定JSP页面。  

<!-- 使用动态include指令导入页面 -->  
<jsp:include page="scriptlet.jsp" />  

上面页面中粗体字代码使用了动态导入语法来导入了scriptlet.jsp。表面上看,该页面的执行效果与使用静态include导入的页面并没有什么不同。但查看jsp-include.jsp页面生成Servlet的源代码,可以看到如下片段:  
//使用页面输出流,生成HTML标签内容  
out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\ ">\r\n");  
out.write("<HTML>\r\n");  
out.write("<HEAD>\r\n");  
out.write("<TITLE>jsp-include测试</TITLE>\r\n");  
out.write("</HEAD>\r\n");  
out.write("<BODY>\r\n");  
//动态导入,直接引入scriptlet.jsp页面  
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,   
"scriptlet.jsp", out);  
out.write("\r\n");  
out.write("</BODY>\r\n");  
out.write("</HTML>\r\n");  
out.write("\r\n");  
上面代码片段中粗体字代码显示了动态导入的关键:动态导入只是使用一个include方法来插入目标页面的内容,而不是将目标页面完全融入本页面中。
  
归纳起来,静态导入和动态导入有如下两点区别:
 

   静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet;而动态导入则在Servlet中使用include方法来引入被导入页面的内容。
  
   静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。  
除此之外,执行include动态指令时,还可增加额外的请求参数。  

在上面的JSP页面中的粗体字代码同样使用jsp:include指令导入页面,而且在jsp:include指令中还使用param指令传入参数,该参数可以在forward-result.jsp页面中使用request对象获取。 

UseBean指令

<jsp:useBean>标签表示用来在JSP页面中创建一个BEAN实例并指定它的名字以及作用范围。

语法:
<jsp:useBean id="name" scope="page | request | session | application" typeSpec />
其中typeSpec有以下几种可能的情况:
class="className" | class="className" type="typeName" | beanName="beanName" type="typeName" | type="typeName" |

注:
你必须使用class或type,而不能同时使用class和beanName。beanName表示Bean的名字,其形式为“a.b.c”。


GetProperty指令

<jsp:getProperty>标签表示获取BEAN的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。

语法:
<jsp:getProperty name="name" property="propertyName" />

注:
1、在使用<jsp:getProperty>之前,必须用<jsp:useBean>来创建它。
2、不能使用<jsp:getProperty>来检索一个已经被索引了的属性。
3、能够和JavaBeans组件一起使用<jsp:getProperty>,但是不能与Enterprise Java Bean一起使用。


SetProperty指令

<jsp:setProperty>标签表示用来设置Bean中的属性值。

语法:
<jsp:setProperty name="beanName" prop_expr />
其中prop_expr有以下几种可能的情形:
property="*" | property="propertyName" | property="propertyName" param="parameterName" | property="propertyName" value="propertyValue"

Plugin指令

<jsp:plugin>标签表示执行一个applet或Bean,有可能的话还要下载一个Java插件用于执行它。

语法:
<jsp:plugin
      type="bean | applet"
      code="classFileName"
      codebase="classFileDirectoryName"
      [ name="instanceName" ]
      [ archive="URIToArchive, ..." ]
      [ align="bottom | top | middle | left | right" ]
      [ height="displayPixels" ]
      [ width="displayPixels" ]
      [ hspace="leftRightPixels" ]
      [ vspace="topBottomPixels" ]
      [ jreversion="JREVersionNumber | 1.1" ]
      [ nspluginurl="URLToPlugin" ]
      [ iepluginurl="URLToPlugin" ] >
      [ <jsp:params>
         [ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+
      </jsp:params> ]
      [ <jsp:fallback> text message for user </jsp:fallback> ]
</jsp:plugin>

注:
<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是applet和Bean),而这种显示需要在浏览器的java插件。
当Jsp文件被编译,送往浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素。注意,<object>用于HTML 4.0 ,<embed>用于HTML 3.2。
一般来说,<jsp:plugin>元素会指定对象是Applet还是Bean,同样也会指定class的名字,还有位置,另外还会指定将从哪里下载这个Java插件。



param指令


param指令用于设置参数值,这个指令本身不能单独使用,单独的param没有实际意义,param指令可与一下三个指令结合使用:

jsp:include
jsp:forward
jsp:plugin

param指令的语法格式如下:
<jsp:param  name="paramName" value="paramValue">

分享到:
评论

相关推荐

    JSP基础语法-include指令

    ### JSP基础语法-include指令详解 在Java Server Pages(JSP)技术中,`include`指令是一项重要的功能,它允许开发者将一个JSP页面的内容嵌入到另一个JSP页面中,从而实现代码的重用和模块化。通过`include`指令,...

    实验2_Jsp语法 -页面基本结构、指令标记和动作标记

    ### 实验2_Jsp语法 -页面基本结构、指令标记和动作标记 #### 实验概述 本次实验主要聚焦于JSP(JavaServer Pages)的基本语法学习,涵盖了页面的基本结构、指令标记以及动作标记的运用。实验旨在使参与者能够熟练...

    jsp语法详解

    jsp语法详解中还有其他一些重要的知识点,例如jsp指令、jsp动作、jsp隐式对象等。jsp指令用于在jsp文件中指定指令,例如&page指令、include指令等。jsp动作用于在jsp文件中执行某些操作,例如jsp:useBean动作、jsp:...

    JSP应用语法详解大全.txt

    ### JSP应用语法详解 #### 一、简介 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态网页。它结合了HTML标记与Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP通过将...

    jsp应用开发详解 jsp电子书

    2. **JSP语法**:掌握JSP的元素,如指令(Directives)、脚本元素(Scriptlets)、表达式(Expressions)、声明(Declarations)和动作(Actions)。 3. **JSP内置对象**:熟悉九大内置对象,包括request、response...

    JSP应用开发详解源代码-1.rar

    这些代码通常包括了基础的JSP页面、Servlet、JavaBean以及其他相关的支持类,涵盖了JSP的基础语法、内置对象、指令、动作标签以及基本的请求处理和响应生成等内容。 1. **JSP基础语法**:JSP文件本质上是HTML文件,...

    JSP应用开发详解(第二版)

    《JSP应用开发详解(第二版)》是深入学习Java Server Pages(JSP)技术的一本权威指南。这本书涵盖了从基础概念到高级特性的全面内容,旨在帮助开发者掌握JSP的精髓并应用于实际项目开发中。以下是根据章节标题和...

    JSP应用开发详解第三版源代码(整理版)B

    源代码包“JSP应用开发详解第三版源代码2”包含了一系列与JSP相关的项目和示例,这些项目和示例覆盖了JSP的基础到高级应用,包括但不限于以下关键知识点: 1. **JSP基本元素**:包括JSP指令(如page、include、...

    实验2 JSP指令标记与JSP动作标记(3.20)

    本次实验旨在加深学生对JSP技术的理解与运用能力,特别是针对JSP指令标记与JSP动作标记的学习。通过具体的操作实践,使学生能够熟练掌握这些标记的使用方法及其应用场景。 #### 关键知识点 ##### 一、JSP指令标记 ...

    《JSP应用开发详解》随书光盘

    《JSP应用开发详解》是一本深度探讨JSP(Java Server Pages)技术的专业书籍,其随书光盘包含了丰富的源码示例,旨在帮助读者深入理解JSP在实际开发中的运用。这本书籍覆盖了JSP的基础知识、核心概念以及高级特性,...

    jspapi--jsp基础知识--jspapi

    **JSP(Java Server Pages)基础知识与JSPAPI详解** JSP是Java平台上的一个用于创建动态网页的技术,它结合了HTML、JavaScript、CSS以及Java代码,使得开发者可以在服务器端生成HTML页面。JSPAPI是Java Servlet API...

    jsp应用开发详解.zip

    通过这个“jsp应用开发详解”压缩包,开发者可以深入学习JSP的各个方面,从基础概念到实战技巧,全面提高JSP开发能力。无论你是新手还是经验丰富的开发者,这份资源都将为你的JSP应用开发之路提供宝贵的指导。

    JSP语法基础.pdf

    ### JSP语法基础详解 #### 一、JSP页面组成及元素分类 JSP (Java Server Pages) 是一种基于Java的服务器端动态网页技术标准,它允许开发人员创建功能丰富的Web应用程序。一个JSP页面主要由**元素**和**模板数据**...

    JSP相关技术详解

    JSP相关技术详解JSP相关技术详解JSP相关技术详解

    JSP应用开发详解第三版源代码

    《JSP应用开发详解第三版》是一本深入讲解JSP技术的专业书籍,其源代码提供了丰富的实例和实践案例,帮助读者更直观地理解和掌握JSP开发。 该书第三版可能涵盖了以下几个重要的知识点: 1. **JSP基础** - **JSP...

    JSP语法详解

    &lt;JSP语法详解&gt; e book

    jsp应用开发详解(中文高清pdf版)

    2. **JSP语法**:书中详细讲解了JSP的各种元素,如指令(directives)、脚本元素(scripting elements)、动作(actions)等。例如,`&lt;jsp:include&gt;`用于在页面间共享内容,`&lt;jsp:forward&gt;`用于转发请求,`&lt;jsp:...

    JSP语法详解 基础资料 参考 必备

    **JSP语法详解** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发语言,它结合了HTML和Java代码,使得开发者可以在网页中嵌入Java逻辑,从而实现动态网页的创建。以下是对JSP语法的详细解释: **1. JSP...

    JSP基础语法知识(JSP语法(中华电脑书库_整理制作))

    **JSP基础语法知识详解** ...综上所述,JSP基础语法知识涵盖了从页面结构、指令、脚本元素到动作标签和EL等多个方面,是构建动态Web应用的重要工具。熟练掌握这些知识,有助于开发者高效地开发和维护Java Web项目。

Global site tag (gtag.js) - Google Analytics