JSP的7个动作指令
动作指令与编译指令不同,编译指令是通知Servlet引擎的处理信息,而动作指令知识运行时的动作。编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它知识JSP脚本的标准化写法。
JSP动作指令主要有如下7个:
jsp:forward:执行页面转向,将请求的处理转发到下一个页面。
jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
jsp:include:用于动态引入一个JSP页面。
jsp:plugin:用于下载JavaBean或Applet到客户端执行。
jsp:useBean:创建一个JavaBean的实例。
jsp:setProperty:设置JavaBean实例的属性值。
jsp:getProperty:输出JavaBean实例的属性值。
forward指令
指令格式:
1)对于JSP1.0:<jsp:forward page="{relativeURL|<%=expression%>}"/>
2)对于JSP1.1以上规范:
<jsp:forward page="{relativeURL|<%=expression%>">
{<jsp:param.../>}
</jsp:forward>
第二种语法用于在转发时增加额外的请求参数,增加的请求参数的值可以通过HttpServletRequest的getParameter()方法获取。
示例:
<jsp:forward page="forward-result.jsp">
<jsp:param name="age" value="25"/>
</jsp:forward>
执行forward指令时,用户请求的地址依然没有发生改变,但页面内容却完全变为目标页的内容,并且客户端的请求参数不会丢失。
提示:
从表面上看,<jsp:forward.../>指令给人的感觉是将用户请求“转发”到了另一个新页面,但实际上,它并没有重新向新页面发送请求,它知识完全采用了新页面来对用户生成响应——请求依然是一次请求,所以亲求参数,请求属性都不会丢失。
include指令
include指令是一个动态include指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。
语法格式:
<jsp:include page="{relativeURL|<%=expression%>}" flush="true"/>
或
<jsp:include page="{relativeURL|<%=expression%>}" flush="true">
<jsp:param name="parameterName" value="parameterValue"/>
</jsp:include>
flush属性用于指定输出缓存是否转移到被导入文件中,对于JSP1.1旧版本,只能设置为false。对于第二种语法格式,则可在被导入页面中加入额外的请求参数。
静态导入和动态导入有如下三点区别:
- 静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet,而动态导入则在Servlet中使用include方法导入被导入页面的内容。
- 静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
- 动态包含还可以增加额外的参数。
useBean、setProperty、getProperty指令
这三个指令都是与JavaBean相关的指令,其中userBean指令用于在JSP页面中初始化一个Java实例;setPrperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。
如果多个JSP页面中需要重复使用某段代码,可以把这段代码定义成Java类的方法,然后多个JSP页面调用该方法即可。
useBean的语法格式:
<jap:useBean id="name" class="classname" scope="page | request |session | application"/>
scope属性说明:
- page:该JavaBean实例仅在该页面有效。
- request:该JavaBean实例在本次请求有效。
- session:该JavaBean实例在本次session内有效。
- application:该JavaBean实例在本应用内一直有效。
setProperty指令的语法格式:
<jsp:setProperty name="BeanName" property="propertyName" value="value"/>
其中,name属性确定需要设定JavaBean的实例名;property属性确定需要输出的属性名;value属性确定要设置的属性值。
getProperty指令的语法格式:
<jsp:getProperty name="BeanName" property="propertyName" />
其中,name属性确定需要设定JavaBean的实例名;property属性确定需要输出的属性名。
plugin指令:略。
param指令:
param指令用于设置参数值,它不能单独使用,可以与下面三个指令结合使用。
- jsp:include
- jsp:forward
- jsp:plugin
语法格式:
<jsp:param name="paramName" value="paramValue"/>
JSP的7个动作指令的更多相关文章
- 【JSP】JSP基础学习记录(二)—— JSP的7个动作指令
2.JSP的7个动作指令: 动作指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用:而处理指令通常可替换成JSP ...
- jsp 的 7 个动作指令
动作指令与编译指令不同,编译指令是通知 Servlet 引擎的处理消息,而动作指令只是运行时的动作.编译指令在将 JSP 编译成 Servlet 时起作用:而处理指令通常可替换成 JSP 脚本,它只是 ...
- 二、JSP的3个编译指令,7个动作指令,9个内置对象
JSP 3个编译指令 1) page指令(基本不需要用到,使用默认即可) 主要属性: 1.Language:指定脚本所采用的语言类型,现在只支持java 2.Extends:定义当前jsp产生的se ...
- JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...
- jsp笔记2(编译指令与动作指令)
一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令 include:包含另一个页面的指令 taglib:用于定义和访问自定义标签 ...
- jsp七大动作指令
jsp 七大动作指令 1) jsp:include 指令 用于在请求处理阶段包含来自一个Servlet或jsp页面的响应.和编译指令中的include不同,include只能用于包含静态页面,而jsp ...
- jsp的常用指令有哪些(编译指令/动作指令整理)
jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释
- jsp笔记,包括编译指令和动作指令,九大对象等
jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.
- JSP——页面三大部分(指令、脚本、动作组件)
一.JSP简介: JSP(Java Server Pages,Java服务器端页面开发技术) JSP可以实现的技术都可以通过Servlet实现,他们本质上是一样的.但JSP设计的目的在于简化表示层的表 ...
随机推荐
- centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常
1.安装centos7.x,配置好网络2.因为docker需要比较高版本的内核,比如使用overlayfs作为默认docker文件系统要3.18,所以先升级内核到3.18以上版本,能直接过4是最佳了检 ...
- XML处理
//生成XML XmlDocument xmlDoc = new XmlDocument(); XmlElement root = xmlDoc.CreateElement("Data&qu ...
- javaSE第十五天
第十五天 117 1. 对象数组(掌握) 117 (1)定义: 117 (2)对象数组的内存图解 117 (3)案例: 117 2. 集合(Collection)(掌握) ...
- 逻辑回归的分布式实现 [Logistic Regression / Machine Learning / Spark ]
1- 问题提出 2- 逻辑回归 3- 理论推导 4- Python/Spark实现 # -*- coding: utf-8 -*- from pyspark import SparkContext f ...
- javac 不是内部或外部命令
安装好JDK后 用 java 命令测试OK! 用 java -version 命令测试OK! 用 javac ...
- Webservice SOAP传输序列化总结 以及webservice之序列化以及反序列化实例
一.所有Webservice中传递的对象都必须能够序列化,这个是作为在网络之间传输的必要条件.XML WebService和SOAP标准支持的数据类型如下: 1.基本数据类型. 标准类型,如:int ...
- c#自定义控件属性面板及选择资源设置
博客转移到 http://jacean.github.io/ 继续分享编程经验 因为要做流体布局,但两个控件没办法组合,就做自定义控件.这个控件需要一个text设置文本,一个pic设置图片显示,图片通 ...
- HTML5 对于手机页面长按会粘贴复制的禁用 (解决方案)
解决方案: 直接在CSS 文件中添加下面的代码,就可以实现了在手机端禁止粘贴复制的功能: *{ -webkit-touch-callout:none; /*系统默认菜单被禁用*/ -we ...
- js JSON对象属性
json对象是是一种用于原生json分析的对象,无法对其进行构造函数调用,用java术语 来说,它相当于能够直接使用类方法的工具类JSON对象的属性parse(text[,reviver]);对参数t ...
- php小算法总结一(数组重排,进制转换)
1.两个有序数组组合成一个新的有序数组 <?php $arr1=array(2,5,7,9,12); $arr2=array(3,4,6,8,10,11); function merge_sor ...