「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍JSP的7个动作指令。
1. JSP的7个动作指令
动作指令在请求处理阶段起作用。
JSP的动作指令主要有七个:
| jsp:forward | 进行页面转发,将请求的处理转发到下一个页面 |
|---|---|
| jsp:include | 动态嵌入一个JSP页面 |
| jsp:useBean | 创建JavaBean实例 |
| jsp:setProperty | 设置JavaBean实例属性 |
| jsp:getProperty | 获取JavaBean实例属性 |
| jsp:param | 传递参数 |
| jsp:plugin | 下载JavaBean或Applet到客户端执行 |
名词解释:
- JavaBean是特殊的Java类,需要被序列化并且实现了 Serializable 接口。
- Applet是使用Java编写的应用小程序,包含在HTML中,使用
<applet>和</applet>标签来包含。
1.1 forward指令
forward指令用于页面的转发。
语法格式:
<jsp:forward page="URL|<%=expression%>"/>
带请求参数的格式:
<jsp:forward page="URL|<%=expression%>">
<jsp:param .../>
</jsp:forward>
其中的参数可以通过HttpServletRequest类中的getParameter()方法获取。
实例展示:
<jsp:forward page="a.jsp">
<jsp:param name="Tom">
</jsp:forward>
执行forward指令后,虽然页面内容变成了指定的页面,但是地址栏的url并没有改变,并且客户端的请求参数并不会丢失。
1.2 include指令
动态include指令用于嵌入经常发生改变的页面,和静态include编译指令不同的是,动态include指令并不会导入被嵌入页面的编译指令,只是导入被嵌入页面的body内容。
语法格式:
<jsp:include page="url|<%=expression%>" flush="true">
带请求参数的格式:
<jsp:include page="url|<%=expression%>" flush="true">
<jsp:param name="name" value="value">
</jsp:include>
flush属性用于指定输出缓存是否转移到被导入文件中。
include和forward区别:
include是把被嵌入的页面的body部分导入到当前页面,而forward则是吧整个页面进行替换,但是保持url地址不变。
1.3 useBean,setProperty,getProperty指令
useBean用于创建一个JavaBean实例;
setProperty用于设置JavaBean实例的属性值;
getProperty用于获取JavaBean实例的属性值。
useBean语法格式:
<jsp:useBean id="ID" class="classname" scope="page | request | session | application"/>
属性解析:
-
id是JavaBean的实例名
-
class是JavaBean的实现类
-
scope属性指定JavaBean实例的作用范围
- page:指定实例范围是该页面
- request:该实例在本次请求有效
- session:该实例在本次session有效
- application:该实例在本应用内都有效。
setProperty语法格式:
<jsp:setProperty name="Beanname" property="Property" vlaue="value"/>
属性解析:
- name:需要设定的JavaBean的实例名
- property:需要设定的属性名
- value:需要设定的属性值
getProperty语法格式:
<jsp:getProperty name="Beanname" property="Property"/>
属性解析:
- name:需要输出的JavaBean的实例名
- property:需要输出的属性名
实例解析:
<!-- 创建Person的实例,实例名为person-->
<jsp:useBean id="person" class="Person" scope="page">
<jsp:setProperty name="person" property="name" value="Li">
<jsp:getProperty name="person" property="name">
1.4 plugin指令
plugin指令用于下载服务器的Javabean或Applet到客户端。
语法格式:
<jsp:plugin type="applet | bean" codebase="dirname" code="MyApplet.class>
参数解析:
- type :定义插入对象的类型, bean 或者 applet。
- code :定义插入对象的类名,该类必须保存在 codebase 属性指定的目录内。
- codebase :定义对象的保存目录。
1.5 param指令
param指令用于设置参数,常和include、forward和plugin联合使用。参考前面的计科,这里就不再解释。
小结
以上就是JSP的七个动作指令,希望对读者有所帮助,如有不正之处,欢迎留言指正。