zoukankan      html  css  js  c++  java
  • jsp05 指令与动作

    JSP7个动作指令如下 :

     jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。

    jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用。

    jsp:include: 用于动态引入一个 JSP 页面。

    jsp:plugin: 用于下载 JavaBean 或 Applet 到客户端执行。

    jsp:useBean: 使用 JavaBean。

    jsp:setProperty: 修改 JavaBean 实例的属性值。

    jsp:getProperty: 获取 JavaBean 实例的属性值。

    1.include 指令

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

    语法:<%@ include file="index.jsp" %>

     include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。

     2.include 动作

    jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。

    语法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>

       其中参数设置可以没有,如果没有参数设置,则必须采用<jsp:include page="sample.jsp" flush="true"/>形式

     

    3.include 指令与include  动作比较

    include 的指令把包含页面的内容转换为一个Servlet文件。

    include  的动作:主页面和包含页面是分开的单独Servlet文件,只是在主页面中增加了一条链接,当要用到包含页面是才会取出包含页面中的内容。

    4.include 的代码实例:

    4.1 include 指令代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <h1>include_command 指令</h1>
    
    <%@ include file = "index.jsp" %>
    </body>
    </html>
    View Code

    4.2 include 动作代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <h1>include_action 动作</h1>
    <jsp:include page="index.jsp" flush="true"></jsp:include>
    </body>
    </html>
    View Code

    5. 使用include动作还是include指令?

      使用include指令,如果被包含的文件发生改变,那么,用到它的所有Jsp页面都需要更新。

      仅当include动作不能满足要求时,我们才应该使用include指令。

      有 些开发人员认为include指令生成的代码执行起来比使用include动作的代码更快。尽管原则上由可能的确如此,但性能上的差异很小,以致难以测 量,同时,include动作在维护上的优势十分巨大,当两种方法都可以使用时,include动作几乎肯定是首选的方法

      对于文件包含,应该尽可能地使用include动作。仅在所包含的文件中定义了主页面要用到的字段或方法,或所包含的文件设置了主页面的响应报头时,才应该使用include指令。

    既然include指令产生难以维护的代码,为什么人们还要使用它呢?
      因为include指令更为强大。include指令允许所包含的文件中含有影响主页面的Jsp代码,比如响应报头的设置和字段、方法的定义。

    6.forward 动作

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

    语法:<jsp:forward page = "index.jsp" />

    等同于:request 转发

    request.getRequestDispatcher("/index.jsp").forward(request,response);

     6.1forward 动作代码的实例:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>forward_action.jsp</title>
    </head>
    <body>
    
    
     <% request.setCharacterEncoding("utf-8");  %> 
     
     
     <%
    
      request.setAttribute("name", "王五");
    
    request.getRequestDispatcher("index.jsp").forward(request, response);
    %>
     
     
     
    <h1>forward_action 动作</h1>
     <jsp:forward page="index.jsp">
     <jsp:param  name="name" value="李四"/>
     </jsp:forward>  
    
    
    
    
    </body>
    </html>
    View Code

     7.param 动作

    param指令的语法格式如下:

    <jsp:param  name="paramName" value="paramValue">

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

    jsp:include

    jsp:forward

    jsp:plugin

     

    8、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”。

     

     

    9、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一起使用。

     

    10、SetProperty指令

     

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

     

    语法:

    <jsp:setProperty name="beanName" prop_expr />

    其中prop_expr有以下几种可能的情形:

    property="*" | property="propertyName" | property="propertyName" param="parameterName" | property="propertyName" value="propertyValue"

     

    11、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插件。

     

    		
  • 相关阅读:
    概率与数学期望
    UVa10870
    UVa10870
    特殊符号+运算优先级
    特殊符号+运算优先级
    poj 2065 SETI(gauss--->≡)
    poj 2065 SETI(gauss--->≡)
    线性筛法证明
    HDU 1728 逃离迷宫
    T^T ONLINE JUDGE 2401 尼克的任务
  • 原文地址:https://www.cnblogs.com/sbj-dawn/p/7105556.html
Copyright © 2011-2022 走看看