JSP动作元素

1、  动作元素分类

用来动态的包含文件、网页跳转及使用JavaBean组件等。

语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX>

第一类是与存取JavaBean有关的,包括<jsp:useBean>、<jsp:setProperty>  <jsp:getProperty>

第二类是基本动作元素,包括<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>

第三类是主要与JSP document有关,包括如下几个动作元素,<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、<jsp:output>

第四类主要用来动态的生成xml元素标签的值,包括<jsp:attribute>、<jsp:body>、<jsp:element>

第五类主要用于Tag File,包括<jsp:invoke>、<jsp:doBody>

2、<jsp:include>动作元素

语法格式<jsp:include page=”包含文件url地址” flush=”true|false” >

属性page用来指定包含文件的url地址,属性flush用来指定缓冲区满时,是否进行清空。

如果包含的文件为静态文件,那么就是单纯的加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,再将处理的结果加到JSP页面。

3、<jsp:forward>动作元素

用来转移用户的请求,使得用户请求的页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何变化。语法格式如下:

<jsp:forward page=”跳转文件URL地址”>

4、<jsp:param>动作元素

用来传递参数,一般与<jsp:include>、<jsp:forward>联合使用,其语法格式如下:

<jsp:param name=”参数名” value=”参数值”/>

5、<jsp:plugin>动作元素

用来在JSP中嵌入Java插件,如Applet。语法格式如下:

<jsp:plugin

Type=”bean | applet”

name=”Applet name”

code=”Java class name”

codebase=”Javal class Cat”

align=”对齐方式”

height=”高度”

width=”宽度”

hspace=”水平间距”

vspace=”垂直间距”

archive=”预先加载的类列表”

jreversion=”JRE版本”

iepluginurl=”url”

nspluginurl=”url”>

</jsp:plugin>

6、<jsp:params>动作元素

用来给Bean或Applet传递参数,一般为多个参数。

<jsp:params>

<jsp:param name=”” value=””/>

<jsp:param name=”” value=””/>

</jsp:params>

7、<jsp:fallback>动作元素

用来指定当浏览器不支持或无法启动Bean或Applet时,在页面上打印输出错误提示信息。其语法格式如下:

<jsp:fallback>错误信息</jsp:fallback>

JSP内置对象

9种内置对象,可以直接引用,不用进行显式的声明。

与Servlet有关的内置对象,包括page和config两个对象。

与Input/Output有关的内置对象,包括out、request和response三个对象。

与Context有关的内置对象,包括session、application和pageContext三个对象。

与Error有关的内置对象,仅包括exception这一个对象。

1、属性保存范围

1)page范围,指设置的属性只在当前页面有效。通过使用pageContext的setAttribute()方法来设置属性,并通过pageContext的个体Attribute()方法来取得属性。

2)request范围,指属性在一次请求范围内有效。如果页面从一个页面跳转到另一个页面,那么该属性就失效了。这里的跳转指客户端跳转。通过使用request的setAtrribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。

3)sessiion范围,指客户浏览器与服务器一次会话范围内,如果和服务器断开连接,那么这个属性也就失效了。通过使用session的setAtrribute()方法来设置属性,并通过session的getAttribute()方法来取得属性。

4)application范围,指在整个服务器范围,直到服务器停止以后才会失效。通过通过使用application的setAtrribute()方法来设置属性,并通过application的getAttribute()方法来取得属性。

2、  移除属性

只需调用相应对象的removeAttribute()方法就可以移除指定属性。

3、  request对象

不但可以用来设置和取得request范围变量,还可以用来获得客户端请求参数、请求的来源、表头、cookies等。

获得客户端请求参数,

getParameter(String name),获得参数名为name的参数值

/getParameterNames(),获得所有参数的名称

/getParameterValues(String name),获得参数名为name的所有参数

/getParameterMap(),获得所有参数封装的Map实例。

4、  response对象

可以用来给客户端传送输出信息。

addCookie(Cookie cookie),添加cookie

addDateHeader(String name, long date),添加一个标题名称为name标头,其值为日期类型。

addHeader(String name, String value),添加一个标题名称为name标头,其值为字符串类型。

addIntHeader(String name, Int value),添加一个标题名称为name标头,其值为整数类型。

setDateHeader(String name, long date),设置一个标题名称为name标头,其值为日期类型。

setHeader(String name, String value),设置一个标题名称为name标头,其值为字符串类型。

setIntHeader(String name, Int value),设置一个标题名称为name标头,其值为整数类型。

sendError(int sc),传递状态码

sendError(int sc, String msg),传送状态码和错误信息

setStatus(int sc),设置状态码

sendRedirect(URL),页面重定向,用来实现页面跳转。

5、  out对象

用来向网页输出信息

clear(),清楚网页上输出内容

clearBuffer(),清楚缓冲区内容

close(),关闭缓冲区,清楚所有内容

getBufferSize(),取得缓冲区大小

isAutoFlush(),获得缓冲区是否进行自动清除的信息

print(String str),进行页面输出

println(String str),进行页面输出并换行

6、  session对象

用来表示用户的会话状况,一边用于保存用户的各种信息,直到生命周期超时或者被释放掉为止。

getId(),获得session的ID

getCreationTime(),获得session生成的时间

getLastAccessedTime(),获得用户最后通过session发送请求时间

getMaxInactiveInterval,设置session生命周期,如果超过这个时间则失效。、

7、  application对象

用来取得和设置Servlet的相关信息。

getMajorVersion(),获得主要的Servlet API版本

getMinorVersion(),获得次要的Servlet API版本

getServerInfo(),获得服务器版本

getMimeType,获得指定文件的MIME类型

getContext,获得指定Local的Application context

getRealPath,获得指定path的绝对路径

JSP和JavaBean

1、  在JSP中调用JavaBean

语法格式为:

<jsp:useBean id=”对象名称” scope=”存储范围” class=”类名” ></jsp:useBean>

id属性表示该JavaBean实例化后的对象名称。scope属性用来指定该JavaBean的范围,也就是指JavaBean实例化后的对象存储范围。范围的取值为page、request、session和application。class属性用来指定JavaBean的类名,包括包名和类名。

2、  设置JavaBean属性

<jsp:setProperty name=”实例化对象名” property=”*” />

*表示按照表单传递的所有参数来设置JavaBean的属性。

<jsp:setProperty name=”实例化对象名” property=”属性名称” />

根据指定参数设置JavaBean属性。

<jsp:setProperty name=”实例化对象名” property=”属性名称”  param=”参数名称” />

相比上面方法,可以通过其指定需要设置的JavaBean属性。

<jsp:setProperty name=”实例化对象名” property=”属性名称”  value=”属性值” />

可以根据需要动态地设置JavaBean属性值。

EL表达式

EL即为Expression Language。

1、  算术运算符

${1+1}        ${1-1}        ${1*1}       ${1/1}       ${1%1}

2、  关系运算符

同样的,${表达式}。

关系运算符,==,!=,<,>,<=,>=。

3、  逻辑运算符,&&,||,!。

4、  条件运算符,${A?B:C}。

JSP 动作元素的更多相关文章

  1. JSP动作元素——————理论篇

    JSP动作元素的组成及作用 JSP使用Action来控制Servlet引擎的行为,可重复使用JavaBean组件. 常用Action: jsp:param       在 jsp:include.js ...

  2. JSP动作元素

    JSP动作元素分类 <jsp:include page="content.jsp"></jsp:include> 使用<%@ include%> ...

  3. JSP6(JSP 指令与JSP 动作元素)

    一.JSP指令用来设置整个JSP页面相关的属性 指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开. JSP中的三种指令标签: Page指令 Page指令为容器提供当前页面的使用说明.一个JS ...

  4. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  5. Tip:JSP标签也称之为Jsp Action(JSP动作)元素

    JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ &l ...

  6. 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  7. 【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(<jsp:setProperty.....>、<jsp:getProperty.....>)

    内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean ...

  8. #1122 JSP动作元素

    JSP动作元素 与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用.JSP动作元素是用XML语法写成的. 利用JSP动作可以动态地插入文件.重用JavaBean组件.把用户重定向到另外的页面 ...

  9. javabean和jsp动作元素

    model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...

随机推荐

  1. Android安全研究经验谈

    安全研究做什么 从攻击角度举例,可以是:对某个模块进行漏洞挖掘的方法,对某个漏洞进行利用的技术,通过逆向工程破解程序.解密数据,对系统或应用进行感染.劫持等破坏安全性的攻击技术等. 而防御上则是:查杀 ...

  2. C#:类和结构的区别

    第一.引用类型和值类型 类属于引用类型,而结构属于值类型. 结构在赋值时进行复制. 将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据. 第二.继承性 类可以继承类 ...

  3. qq2440启动linux后出现错误提示request_module: runaway loop modprobe binfmt-464c

    1.情景: 编译busybox时加了make CROSS_COMPILE=arm-linux-,但是还是出现了此情况! 2.解决方案如下: 配置busybox时,在配置中发现busybox setti ...

  4. 深入浅出设计模式——抽象工厂模式(Abstract Factory)

    模式动机在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法.但是有时候我们需要一个工厂可 ...

  5. C#MongoDB使用实践

    9.5更新:更方便的启动命令 1)在D:\MongoDB中新建mongo.config文件,内容为 #启动mongod:mongod.exe --bind_ip 127.0.0.1 --logpath ...

  6. VS2012添加PlaySound引用

    <windows程序设计>中给出的demo代码中有PlaySound的使用,但是因为这个是代码是针对VC6.0,其中说明的引用的添加和VS2012中有些许不同. 在VC6.0中projec ...

  7. 错误信息:System.Resources.MissingManifestResourceException: 未能找到任何适合于指定的区域或非特定区域性的资源。请确保在编译时已将“****.****.Resource.resources”正确嵌入或链接到程序集"****",或者确保所有需要的附属程序集都可加载并已进行了完全签名

    在网上搜索了N久都没看到几篇解决的文章,最后在不懈的努力下终于解决了,所以决定写下解决方法方便以后遇到同样问题的朋友: 其实这个错误的主要问题就是没有找到需要的资源文件(该文件为Resources.r ...

  8. 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结 顕出:void-sampling 显示:void-sampling

    知识点: 分支语句,四则运算,( ̄y▽ ̄)~* 实验过程中遇到的问题及解决方法: 忘记换行,忘记代码,输入法切换(´∀`*) 暂时还得照书写,*★,°*:.☆\( ̄▽ ̄)/$:*.°★* 实验心得体会 ...

  9. systemctl命令

    systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 ...

  10. 0506--Scrum项目1.0

    应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 录制为演说视频,上传到视频网站,并把链接发到团队博客上. 团队项目选题  四则运算 NABCD 模型 1) N (Need 需求) ...