JSP入门——JSP7个动作指令

305 阅读3分钟

「这是我参与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到客户端执行

名词解释:

  1. JavaBean是特殊的Java类,需要被序列化并且实现了 Serializable 接口。
  2. 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>

参数解析:

  1. type :定义插入对象的类型, bean 或者 applet。
  2. code :定义插入对象的类名,该类必须保存在 codebase 属性指定的目录内。
  3. codebase :定义对象的保存目录。

1.5 param指令

param指令用于设置参数,常和include、forward和plugin联合使用。参考前面的计科,这里就不再解释。

小结

以上就是JSP的七个动作指令,希望对读者有所帮助,如有不正之处,欢迎留言指正。