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>

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>

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>

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

		

jsp05 指令与动作的更多相关文章

  1. JSP中的编译指令和动作指令的区别

    JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本, ...

  2. JSP指令与动作

    Jsp基本指令和动作 (2011-08-18 16:25:13) 转载▼ 标签: 杂谈 分类: java JSP基本指令 jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出 ...

  3. JSP指令与动作元素

    include指令 语法:<%@ include file="URL" %> 其中,URL表示一个要包含的页面. include动作(是一个动作标签) 语法:<j ...

  4. JSP中的编译指令和动作指令的差别

    JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本 ...

  5. Jsp语法、指令及动作元素

    一.JSP的语法 1.JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2.JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%&g ...

  6. Java遇见HTML——JSP篇之JSP指令与动作元素

    一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp <%@page import="java.te ...

  7. jsp 三大指令和动作标签

    jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...

  8. jsp笔记,包括编译指令和动作指令,九大对象等

    jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.

  9. JSP编译指令与动作指令

    下面这个面试经常问到,要理解. 上面这个效果一样,重点.   <jsp:include>动作在请求期间被执行,而include指令在编译期页面间被执行.

随机推荐

  1. 实用的ES6特性

    1. 函数参数默认值 不使用ES6 为函数的参数设置默认值: function foo(height, color) { var height = height || 50; var color = ...

  2. HBase 参考文档翻译之 Getting Started

    本篇是对HBase官方参考文档的大体翻译,介于本人英文水平实在有限,难免有纰漏之处.本篇不只是对官方文档的翻译,还加入了一些本人对HBase的理解.在翻译过程中,一些没有营养的废话,我就忽略了没有翻译 ...

  3. 针对“来用”团队项目之NABC分析

    本项目特点之一:扩展性强 NABC分析: N(need):我们这个开发的这个软件主要是集娱乐软件和实用工具于一身的大容器,这里面有很多应用程序,针对不同用户需要,至少有一款应用程序能够满足用户的需要, ...

  4. [codecademy]html&css

    1. HTML is the language used to create the web pages you visit everyday. It provides a logical way t ...

  5. eg_2

    2. 编写一个程序,输出在一个字符串中,指定的字符串出现的次数 第一种方法: public class Test { public static void main(String[] args) { ...

  6. Redis 学习之集群

    该文使用centos6.5 64位  redis3.2.8 一.  redis-cluster架构图 集群通信:所有redis节点之间通过PING-PONG机制彼此互联,内部使用二进制鞋子优化传输速度 ...

  7. change object keys & UpperCase & LowerCase

    change object keys & UpperCase & LowerCase .toLocaleUpperCase(); && .toLocaleLowerCa ...

  8. Prepare方法和UnPrepare方法

    Query组件提供的Prepare方法的作用是通知BDE或数据库服务器优化并准备执行SQL操作.Query的Prepare方法能优化执行的原因在于该方法是是在SQL语句执行前就对其进行分析.检查和编译 ...

  9. c#调用系统默认软件打开应用

    System.Diagnostics.Process.Start(),参数为对应的应用路径 System.Diagnostics.Process.Start(((FileInfo)lv.Selecte ...

  10. bzoj4760[USACO2017 Jan]Hoof,Paper,Scissors

    题意:玩n次剪刀石头布,对方每次出什么已经知道了.你出的招数必须是连续的几段(不能超过k+1段),问你最多赢几次.(n<=100000,k<=20) 正常做法:f[i][j][k]表示前i ...