JSP动作元素——————理论篇
JSP动作元素的组成及作用
JSP使用Action来控制Servlet引擎的行为,可重复使用JavaBean组件。
常用Action:
- jsp:param 在 jsp:include、jsp:forward、jsp:params 块之间使用,指定一个将加入请求的当前参数组中的参数。
- jsp:include 在文件需要时包含一个文件。
- jsp:forward 将用户导向一个新的页面。
- jsp:plugin 在 JSP 页面中引入插件。
- jsp:params 可以传递参数给Applet 或 Bean。
- jsp:fallback 提供一段文字用于不能正常启动 Applet 或 Bean时,浏览器显示出的一段错误信息。
- jsp:useBean 声明使用一个JavaBean。
- jsp:setProperty 设置 Bean 中的属性值。
- jsp:getProperty 获取 Bean 中的属性值。
详细说明:
1.<jsp:param>
语法格式:
<jsp:param name="name" value="value" />
提示!!!
当使用<jsp:include>、<jsp:forward>时,被包含或将转去的页面可以得到原页面的request 对象,而新的参数是加在原参数之前,且在使用时新参数值将优先处理,新参数值也是在<jsp:forward>调用时才有效。
2.<jsp:include>
语法格式:
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
或者
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
<jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />
</jsp:include>
提示!!!
静态文件和动态文件机制的区别如下:
在指令<%@include file=?>中将被包含的资源看作是一个静态对象,将所有的字节都包含进去。而在行为<jsp:include page=/>中将被包含的资源看作是一个动态对象,request 对象被送到该对象,然后将执行结果包含进来。include 指令是在将 JSP 页面翻译成 Servlet 时将被包含文件插入到文件中,而include 行为是在请求时就将内容插入。
3.<jsp:forward>
语法格式:
<jsp:forward page={"relativeURL" | "<%= expression%>" } />
或者
<jsp:forward page="{relativeURL | <%= expression%>}">
<jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />
</jsp:forward>
- <jsp:forward>元素允许在运行时分派当前的 request 对象到其他 JSP 页面或 Java Servlet 类等。且它有效地终止了当前页的执行,即<jsp:forward>标签以下的代码将不能执行。
- 可以向目标文件传送参数和值,如果使用的是<jsp:param>标签,目标必须是一个动态的文件,能够处理参数。
- 如果使用了缓冲输出,则在 request 对象被转交前,缓冲区将被清空。如果使用了非缓冲输出,那么使用<jsp:forward>时就要注意。如果在使用<jsp:forward>之前,JSP文件已经有了数据,那么forward将导致IllegalStateException异常的发生。
4.<jsp:plugin>
语法格式:
<jsp:plugin
type="bean | applet" /*指定被执行的对象类型*/
code="classFileName" /*设定将被 Java Plugin 执行的 Java 类名称,必须以.class 结尾*/
codebase="classFileDirectoryName" /*设定将被执行的 Java 类的目录*/
[ name="instanceName" ] /*表示Bean 或 Applet 的名称*/
[ archive="URLToArchive, ..." ] /*一些由逗号分开的路径名,用于预先加载一些将要使用的类*/
[ align="bottom | top | middle | left | right" ] /*设置图形、对象、Applet 的位置*/
[ height="displayPixels" ] /*显示 Applet 或 Bean 的长的值,单位为像素*/
[ width="displayPixels" ] /*显示 Applet 或 Bean 的宽的值,单位为像素*/
[ hspace="leftRightPixels" ] /*表示 Applet 或 Bean 显示在屏幕左右所留下的空间,单位为像素*/
[ vspace="topBottomPixels" ] /*表示 Applet 或 Bean 显示在屏幕左右所留下的空间,单位为像素*/
[ jreversion="JREVersionNumber | 1.1" ] /*表示 Applet 或 Bean 执行时所需的 Java Runtime Environment(JRE)版本*/
[ nspluginurl="URLToPlugin" ] /*表示Netspace Navigator 用户能够使用的JRE的下载地址,此值为一个标准的URL*/
[ iepluginurl="URLToPlugin" ] /*表示IE用户能够使用的JRE的下载地址,此值为一个标准的URL*/
[ <jsp:params> /*用于传送参数给 Applet 或 Bean*/
<jsp:param name="parameterName" value="{parameterValue | <%= expression%>}" />
</jsp:params> ]
[ <jsp:fallback> /*提供一段文字用于不能正常启动 Applet 或 Baen 时,浏览器显示出的一段错误信息*/
text message for user
</jsp:fallback> ]
</jsp:plugin>
JavaBean组件技术
1.<jsp:useBean>
此Action 元素用于创建一个 Bean 实例并指定它的名称和作用范围,语法格式如下:
<jsp:useBean>
id="beanInstanceName"
scope="page | request | session | application"
{
class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanName="{package.class | <%= expression %>}" type="package.class"
}
{
/> | > other elements (body) </jsp:useBean>
}
2.<jsp:setProperty>
此Action 元素用于设置 Bean 中的属性值,语法格式如下:
<jsp:setProperty
name="beanInstanceName"
{
property="*" |
property="propertyName" [ param="parameterName" ] |
property="propertyName" value="{string | <%= expression %>}"
}
/>
3.<jsp:getProperty>
此Action 元素用于获取 Bean 中的属性值,语法格式如下:
<jsp:getProperty name="beanInstanceName" property="propertyName" />
<jsp:getProperty>将其转化为字符串,并保存在 out 对象中。
理论至此结束,敬请关注实践篇!
JSP动作元素——————理论篇的更多相关文章
- JSP动作元素
JSP动作元素分类 <jsp:include page="content.jsp"></jsp:include> 使用<%@ include%> ...
- JSP 动作元素
JSP动作元素 1. 动作元素分类 用来动态的包含文件.网页跳转及使用JavaBean组件等. 语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX&g ...
- JSP6(JSP 指令与JSP 动作元素)
一.JSP指令用来设置整个JSP页面相关的属性 指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开. JSP中的三种指令标签: Page指令 Page指令为容器提供当前页面的使用说明.一个JS ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- Tip:JSP标签也称之为Jsp Action(JSP动作)元素
JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ &l ...
- 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)
JSP原理: 1. 对于每个请求.jsp容器都会创建一个新的线程来处理它: 2. Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...
- 【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(<jsp:setProperty.....>、<jsp:getProperty.....>)
内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean ...
- #1122 JSP动作元素
JSP动作元素 与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用.JSP动作元素是用XML语法写成的. 利用JSP动作可以动态地插入文件.重用JavaBean组件.把用户重定向到另外的页面 ...
- JSP动作元素——————实践篇
本篇在理论的基础上实现不同JSP页面间的跳转 使用 Eclipse Java EE IDE 创建一个新的 Java Web 项目,具体步骤如下: (1)启动 Eclipse Java EE IDE,在 ...
随机推荐
- ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析
1.任务主界面.任务可以被挂起,启动,和删除.来自著名Quartz扩展 2.任务可以是执行的SQL命令,存储过程,或者是一个后台方法 3.极其复杂的调度任务,循环次数,可以自行设置.并可以间隔执行,比 ...
- golang-web框架revel一个表单提交的总结
这里要介绍好是revel框架的表单post提交的列子,主要是用于入门学习,和一些知识点的讲解: 首先: 来了解一个问题那就是重复提交表单,做过form表单提交的同学都知道,如果表单提交后不做处理,那么 ...
- 分享个 之前写好的 android 文件流缓存类,专门处理 ArrayList、bean。
转载麻烦声明出处:http://www.cnblogs.com/linguanh/ 目录: 1,前序 2,作用 3,特点 4,代码 1,前序 在开发过程中,client 和 server 数据交流一 ...
- 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...
- [WinForm]WinForm跨线程UI操作常用控件类大全
前言 在C#开发的WinForm窗体程序开发的时候,经常会使用多线程处理一些比较耗时之类的操作.不过会有一个问题:就是涉及到跨线程操作UI元素. 相信才开始接触的人一定会遇上这个问题. 为了解决这个问 ...
- ubuntu 入门
ubuntu 系统设置不全sudo apt-get install ubuntu-desktop uget aria2:下载工具http://www.xitongzhijia.net/xtjc/201 ...
- C#定时执行
代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
- [SQL Server] 特殊字符、上标、下标处理
今天遇到一个问题是往 SQL Server 中导入像m².m³这样的单位数据,可是在 SQL Server 中查看到的都是 m2.m3,于是在网上查了一下资料,顺便摘录下来供日后查阅. 一 Wind ...
- php mail 函数发送邮件
当然你可以通过php ,在自己的站点制作一个反馈表单, 我这次的需求是用email 的形式发送数据报表,结构比较简单 // 收件人地址(此处只可以写一个地址,写多个地址,只有最后一个地址生效) $to ...
- Mac入门 (二) 使用VMware Fusion虚拟机
有了Mac机,还是需在Mac上用Windows怎么办?, VMware Fusion 是运行在Mac机上的虚拟机软件, 类似于VMware workstation. 这样就可以在Mac上运行Windo ...