JSP的动作元素的是用于动态的包含文件、网页跳转及使用JavaBean组件等。
JSP动作元素有:<jsp:include> <jsp:forware> <jsp:param><jsp:plugin><jsp:params><jsp:fallback><jsp:useBean>
<jsp:setProperty><jsp:getProperty>
详解:
一<jsp:include>包含文件
该元素yunx允许包含动态或者是静态的文件,包含静态的仅仅是把包含文件的内容加载到JSP文件中,baoh包含动态的文件则会被JSP编译器执行,并且动态的在编译时可以包含参数:
<jsp:include page="xxx.jsp" flush="true|false"/>(静态)
<jsp:include page="xxx.jsp" flush="true|false">
. <jsp:param name="参数名称" value="参数值"/>
<jsp:include>(动态)
page属性:指定被包含文件的属性
flush属性:设置当缓存区满时是否清空缓存,默认为true
<jsp:param name="参数名称" value="参数值"/>这个是向被包含的页面传递参数
----------------------------------------------------
二<jsp:forward>请求转发
该动作元素可以把客户端请求从一个页面转发到另一个页面,当该元素执行后,当前页面不再执行,转为执行指定的页面。
例:
<jsp:forward page=":xxx.jsp"/>(静态)
<jsp:forward oage="xxx.jsp">
<jsp:param name="参数名" value="参数值"/>//向跳转的页面传递参数
..........
</jsp:forward>(动态)
----------------------------------------------------
三<jsp:useBean>声明使用JavaBean
此元素可以创建一个javaBean(其他的方法也可以创建JavaBean实例)
例:
<jsp:useBean id="S1" class="com.person" scope="session">
</jsp:useBean>(创建了一个变量名为S1,包来自com.person,存取范围为session的JavaBean实例)
id属性:给实例指定一个 变量名
class属性:指定实例来自哪里,包含到包名
scope:指定实例的存取范围:取值有page,request,session,application
<jsp:useBean>有两种使用格式
1:
<jsp:useBean id="xxx" class="xxx"/>
2:
<jsp:useBean id="xxx" class="xxx"/>
</jsp:useBean>
这两种的格式使用的区别是:第一种无论是否已经存在一个指定的实例<jsp:Bean>中的代码都会执行,第二种若是已经存在一个指定的实例那<jsp:Bean>中的代码就不会执行。
----------------------------------------------------
四 设置JavaBean属性值<jsp:setProperty>
<jsp:setProperty>通常和<jsp:useBean>一起搭配使用,调用JavaBean中的set()方法,给shil实例对象赋值。
例:
<jsp:setProperty
name="javaBean实例名" property=" * "(中间有个星号) 1
name="javaBean实例名" property="属性名称" 2
name="javaBean实例名" property="属性名称" parm="参数名称" 3
name="javaBean实例名" property="属性名称" value="值" 4
/>
//name属性:该属性用来指导在JSP中的一个指定实例,寻找实例按照page-->request-->session-->application的循序
jsp:setProperty>拥有上面四种不同的赋值方式
1赋值方法把request请求中的所有参数值一一赋值给javaBean中与参数带有相同名字的属性.如果请求值中带有空值不会赋予NULL,而是保留原来的值或者是默认值。
注:使用这种方法需要request中的参数的名称和类型必须和javaBean中的属性名称以及类型一致
2赋值方法把request中的值赋给javaBean中的同名的属性。
3该赋值方法中的param指定一个request请求中的参数,property指定一个JavaBean实例中的属性,这种方法可以把一个参数赋值给一个不同名的属性。
4value属性指定一个可以是字符串或者是标识一个具体的JSP表达式或者EL表达式。该值赋给property属性中指定的javaBean实例的属性。
注:该value属性的值的类型必须和JavaBean实例的值的属性一样
----------------------------------------------------
五获取javaBean属性值<jsp:getProperty>
<jsp:getProperty>用于获取javaBean实例的属性。
例:
<jsp:getProperty name="xxx" property="name">获取XXX实例的name属性
name属性:指定有一个javaBean实例
property属性:指定javaBean实例的属性
----------------------------------------------------
六声明使用Java插件:<jsp:plugin>与<jsp:fallback>
<jsp:plugein>可以在yemi页面中插入JavaApplet或者javaBean,他们能够在客户端运行,当程序运行失败时,<jsp:fallback>会显示给客户失败信息
------------------------------------------------
七参数传递<jsp:params>和<jsp:param>
<jsp:params>和<jsp:param>用户传递参数
例:
<jsp:param name="参数名称" value="值"/>//使用<jsp:param>chch传递一个参数
----------------------------------------------------
<jsp:params>
<jsp:param name="参数名称1" value="值1"/>
<jsp:param name="参数名称2" value="值"2/>
<jsp:param name="参数名称3" value="值3"/>
....
</jsp:params>//使用<jsp:params>传递多个参数
-------------------------------------------------------------
<jsp:param name="参数名称1" value="值1"/>
<jsp:param name="参数名称2" value="值"2/>
<jsp:param name="参数名称3" value="值3"/>//使用<jsp:param>传递多个参数
<jsp:param>和<jsp:params>区别:
<jsp:param>元素可以和<jsp:include>,<jsp:forward>等元素一起使用,而<jsp:params>只能和<jsp:plugin>配合使用