JSP动作是使用XML语法格式的标记来控制servlet引擎的行为。JSP的动作元素是使用xml语法写的格式为<jsp: 标记名>。JSP动作在请求处理段起作用,利用它可以实现动态的插入文件、重组 JavaBean、为Java插件生成HTML代码以及把用户重定向到另外一个页面等功能。
JSP中常用动作元素如下:
<jsp: useBean>:定义JSP页面使用一个JavaBean实例。
<jsp: setProperty>:使用JavaBean给定的setter方法,在Bean中设置一个或多个属性值。
<jsp: getProperty>:使用JavaBean给定的getter方法,从JavaBean中获取一个属性值。
<jsp: include>:在JSP页面中包含另一个页面。
<jsp: forward>:把接收到的请求转发给另一个处理。
<jsp: plugin>:根据用户端浏览器类型,指定Java插件的属性。
<jsp: element>:用于说明一个动作或一个脚本元素。
<jsp: fallback>:指定任何处理浏览器不支持Java插件运行的情况。
<jsp: param>:用于传递参数。
1、使用JavaBean实例:useBean动作元素
格式:<jsp: useBean id=" " beanName=" " class=" " scope="page" type=" "></jsp:useBean>
<jsp: useBean>的内置属性:
· id 表示该useBean元素的id,可通过id访问useBean,是JavaBean在JSP中的唯一标记,beanName表示引用的哪个Java类或者哪个表达式。
· class表示引用哪个类。
· scope表示值的存储范围,有4个可选值,从小到大排序分别为page、request、session、countext,默认值是page。
· type属性指定了脚本变量定义的类型,默认为脚本变量定义和class中的属性一致,一般都采用默认值。
(class应用的类应该在包里,引用的时候包名.类名)
2、设置JavaBean属性值:setProperty动作元素//获取JavaBean属性值:getProperty动作元素
<jsp: setProperty name=" " property=" " value=" " />
<jsp: getProperty name=" " property=" "/>
name:通过name找到JavaBean的实例
property:通过property找到JavaBean实例中的属性值
value:给property找到的JavaBean的实例中的属性值进行赋值
setProperty是修改JavaBean的属性值,getProperty是获取JavaBean的属性值,以字符串形式输出。
他们通常成对出现。
3,动态包含页面:include动作元素
它的作用是把指定文件插入到正在生成的页面中,即<jsp: include>是在页面被请求时,才被包含的页面加载进来
<jsp: include flush="true" page=" "></jsp: include>
它可以包含其他个体:
<jsp: include flush="true" page=" ">
<jsp: param name=" " value=" ">
</jsp: include>
作用就是将一些页面整合在一块。
4,请求的转移:forward动作元素
<jsp: forward>的作用是把当前请求转发到另一个页面,当前的请求一般是request请求。这个动作元素中,只有page一个属性,它的意义就是所要转发的页面,一般是相对路径URL。
<jsp: forward page="url"></jsp: forward>
<jsp: forward page="<%=....%>"></jsp: forward>
如此操作地址栏显示的是第一个的地址但是页面显示的是第二个的页面
5,指定插件属性:plugin动作元素
用来指定Java插件中执行一个applet或者bean。当客户端没有相应的Java插件来执行applet或者JavaBean时,浏览器会出现一个窗口,提示是否要下载Java插件。在浏览器中显示或者播放一个对象时,是需要Java插件的。它语法如下:
<jsp: plugin code=" " codebase=" " type=" " align=" " archive=" " height=" " hspace=" " iepliginurl=" " jresersion=" " name=" " nspluginurl=" " width=" "></jsp: plugin>
他们中的属性如下:
code:将别插件执行的一个Java类名称,以“. class”结尾。这个被执行的Java类必须是在codebase指定的目录下。
codebase:用来设置目录,这个目录是将被执行的Java类所在的目录,设置这个属性的情况下,默认使用<jsp: plugin>动作的JSP所在目录
type:用来设置被执行对象的类型,没有默认值。值只有Bean和Applet。
align:设置被执行对象的位置,它的值有bottom、top、middle、left、right。
archive:它的值是用一些(,)分开的路径名,用来预先加载将要执行的类。
height:设置被执行对象(Bean或者Applet)的高度值,单位像素。
hspace:用来设置Bean或者Applet执行时在屏幕中留下的空间,单位像素。
iepliginurl:URL地址,这个地址是IE用户能够使用的JRE版本下载地址。
jreversion:用来表示执行对象(Bean或者Applet)在执行时所需要的JRE版本,默认的值是12.
name:用来表示执行对象的名称。
nspluginurl:URL地址,这个地址是Netscape Navigator用户能够使用到的JRE下载地址。
width:用来显示对象的宽度,单位像素。
编译后的JSP返回浏览器时,<jsp: plugin>动作元素会根据客户端的浏览器类型转换为<object>或者<embed>元素。在<jsp: plugin>动作元素中可以用到<jsp: params>和<jsp: fallback>标签。
6,传递参数:param动作元素
<jsp: param>用来传递参数,通常和<jsp: include>、<jsp: forward>以及<jsp: plugin>配套使用。
<jsp: param name=" " value=" "/>
name属性:用来指定<jsp: param>动作的名称。
value属性:用来指定<jsp: param>动作的值。