web组件复用

JSP中引用的web组件复用的两种方式:静态包含、动态包含

静态包含

在JSP源文件转换成对应Servlet源文件时将当前JSP文件和其包含的所有其他文件合并成一个Servlet文件

  • JSP中的include伪指令实现静态包含
    – include标准语法:<%@include file=“地址”%> 只有一个file属性,路径是相对路径
<%@include %>指令
  • 包含文件中要避免使用< html>< body>等元素
    在这里插入图片描述
    在这里插入图片描述
    打印结果:logo
  • <%@include%>指令可以放在JSP页面的任意位置
  • file属性值不能是一个动态表达式
    在这里插入图片描述
  • File属性值不能向被包含的文件传递参数
    被包含文件之间可以共享变量,尽量减少文件之间的联系,降低耦合度,增强可复用度
    在这里插入图片描述
    head.jsp:
    在这里插入图片描述
    打印结果:zhangsan
  • 静态包含所包含的文件能够含有影响整个页面的JSP内容(如:import语句,声明)
  • 若有相同的import或变量则报错

动态包含(独立运行)

动态包含是指客户端请求时,将请求转发给当前JSP文件包含的其他对象
– 使用JSP的include动作指令和forward动作指令实现动态包含
– include 和forward相当与Servlet中的RequestDispatcher.include()和RequestDispatcher.forward()方法

include动作指令

– 标准语法:<jsp:include page=“地址” flush=“true”>

  • include动作指令规则
    – page属性值可以是相对路径或代表相对路径的表达式
    在这里插入图片描述
    page属性指向的文件既可以是动态文件也可以是静态文件
    – include允许当前页面将客户端请求暂时转交给所包含的对象,一旦对象执行完毕,返回当前JSP页面
    包含文件和被包含文件各自独立编译、执行,彼此之间不能访问各自定义的变量(即page作用域范围内的对象),只能共享request范围、session范围、application范围对象
  • 动态包含可以传递参数:
    – 直接在包含动作中传递
    在这里插入图片描述
    – 使用<jsp:param name=“” value=“”/>
    <jsp:param />标签传递参数时,会替换request对象同名的参数值
    在这里插入图片描述
    打印结果:
    在这里插入图片描述
    在这里插入图片描述
    打印结果:
    在这里插入图片描述
    – 使用request.set/getAttribute()方法
    在这里插入图片描述
include伪指令与include动作指令
include伪指令include动作指令
规则<%@include %>< jsp:include> </jsp:include>
编译时间较慢(资源必须被解析)较快
执行时间较快较慢(每次请求资源被解析)
灵活性较差(页面内容必须固定)较好(页面在运行时动态选择)
动作发生时间页面转换期间请求期间
被包含内容文件的内容页面的输出
产生Servlet数目1n
forward动作指令

语法格式:<jsp:forward page=“地址”/>
在这里插入图片描述
相当于
在这里插入图片描述
forward动作指令在调用转发操作后不会继续处理指令后的任何代码
include动作指令在调用转发操作后,完成转发操作后将继续处理指令后的代码
• 以斜杠开头的URL是相对于Web应用进行解析,而< a>或者< form>标签中的URL如果以斜杠开头则是相对于服务器的根目录进行解析

JavaBean

JavaBean通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称Bean
JSP使用JavaBean

  • JavaBean满足的条件
    – 必须有一个无参的公共构造方法
    – 所有的属性必须有setter和getter方法,属性本身最好定义为私有的,以实现JavaBean的封装性
  • 在JSP中使用< jsp:useBean>操作元素来加载JavaBean程序
    在这里插入图片描述
    相当于
    在这里插入图片描述
  • 使用< jsp:setProperty>操作元素来设置JavaBean的属性值
    在这里插入图片描述
  • 使用< jsp:getProperty>操作元素获取JavaBean的属性值
    在这里插入图片描述
    若是不设置属性值,则在url中设置
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值