JSP之Web组件复用

一.静态包含

  • 含义:在JSP源文件转换成对应Servlet源文件时将当前JSP文件和其包含的所有其他文件合并成一个Servlet文件
  • 使用:JSP中的include伪指令实现静态包含
    <%@ include file="header.jsp" %></br>
    属性file是指包含文件的相对路径。
  • 规则:
    file属性值不能是一个动态表达式
    file属性值不能向被包含的文件传递参数
    被包含的文件之间可以共享参数
    两个jsp文件会生成一个.java文件

二.动态包含

  • 含义:动态包含是指客户端请求时,将请求转发给当前JSP文件包含的其他对象
    include动作指令:相当于Servlet中的RequestDispatcher.include()
    forward指令:相当于Servet中的RequestDispather.forward()方法
  • 使用:<jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>
  • 规则:
    include允许当前页面将客户端请求暂时转交给所包含的对象,一旦对象执行完毕,返回当前JSP页面
  • 注意:
    1.动态包含中的包含文件和被包含文件各自独立编译、执行,彼此之间不能访问各自定义的变量(即page作用域范围内的对象),只能共享request范围、session范围、application范围对象
    2.page属性值可以是相对路径或代表相对路径的表达式。
    3.page属性指向的文件既可以是动态文件也可以是静态文件。

动态引入的三种方式:
1.

`<jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>`

2.`

<jsp:include page="header.jsp">
    <jsp:param value="userName" name="Ls"/>
</jsp:include>`
<%request.setAttribute("userName", "ww"); %>
<%request.getRequestDispatcher("header.jsp").forward(request, response); %>

include伪指令与include动作指令的比较:

include伪指令include动作指令
规则<%@include %><jsp:include />
编译时间较慢(资源必须被解析)较快
执行时间较快较慢(因为每次请求资源必须被解析)
灵活性较差(页面内容必须固定)较好(页面在运行时可动态选择)
动作发生的时间页面转换期间请求期间
被包含的内容文件的内容页面的输出
产生Servlet数目1n

forward动作指令:
forward动作指令允许将客户请求转发到另一个资源文件,即每当遇到此动作指令就停止执行当前的JSP,转而执行被转发的指定资源

  • 使用:
    <jsp:include page="header.jsp?userName=ZS" flush="true"></jsp:include>

forward指令与include指令的区别:

  1. forward动作指令在调用转发操作后不会继续处理指令后的任何代码
  2. include动作指令在调用转发操作后,完成转发操作后将继续处理指令后的代码

三.使用JavaBean组件

JavaBean概述:

JavaBean通过封装属性和方法成为具有某种功能
或者处理某个业务的对象,简称Bean
JavaBean中所有的属性最好定义为private,每个属性都定义public的setter和getter方法对其进行操作。

JavaBean命名规则:

  1. 如果属性不是布尔类型,getter方法前缀必须是get
  2. 如果属性是布尔类型,getter方法前缀必须是get或is
  3. Setter方法的前缀必须是set
  4. 将属性的首字母改成大写,添加合适的前缀作为getter和setter方法的名字
  5. Setter方法签名必须表示为Public,具有void返回类型和一个表示属性类型的参数
  6. Getter方法签名必须标识为public,不带参数,并具有一个该属性类型的返回类型

在JSP中使用JavaBean:
1.在JSP中使用jsp:userBean操作元素来加载JavaBean程序

<jsp:useBean id="user" class="net.onest.bean.User">

</jsp:useBean>

2.使用jsp:setProperty操作元素来设置JavaBean的属性

<jsp:setProperty property="userName" name="user" value="zs" param="name"/>

3.使用jsp:getProperty操作元素获取JavaBean的元素值

<jsp:getProperty property="userName" name="user"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖胖的懒羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值