静态包含和动态包含详解(base标签补充)

一、静态包含指令<%@include file=“fileurl”%>

  1. 两个jsp页面的<%@page contentType=“text/html;charset=UTF-8”%>应该保持一致
  2. 不能通过file路径向被包含的jsp页面传递参数,因为此静态包含是发生在jsp页面转换为servlet的转换期间,此时的参数是服务器端设置的死的参数,完全没有经过客户端,这种参数是没有意义的,如<%@include file=“fileurl?user=admin”%>,而且此时会报错
  3. 包含的jsp页面与被包含的jsp页面共用一个request内置对象(包含页面和被包含页面会转换成一个servlet)
  4. 包含的jsp页面与被包含的jsp页面最好没有重复的html标签。否则会发生覆盖现象。

二、动态包含与静态包含的区别

  1. 动态包含用的元素是page,而且有两种形式。静态包含用的是file,只有一种形式。
  2. 生成的文件不同,静态的包含是将两个jsp文件二合一,生成一个以包含页面命名的servlet和class文件,动态包含的两个jsp文件各自生成自己的servlet和class文件。
  3. 动态包含传递参数时,包含页面和被包含页面使用的是两个不同的request
  4. 动态包含只有在执行到它的时候才加载,所以它才叫动态包含。
  5. 传参方式一:被包含的jsp页面是可以访问该参数的。
    <jsp:include page="a.jsp?param=123"/>
  6. 传参方式二:
    <jsp:include page=“a.jsp”>
        <jsp:param name=“” value=“”>
        <jsp:param name=“” value=“”>
    </ jsp:include >

三、base标签

base标签的作用:

base标签是HTML语言中的基准网址标记,它是一个单标签,位于网页头部文件的head标签内,一个页面最多只能使用一个base元素,用来提供一个指定的默认目标,也算是一种表达路径和连接网址的标记。

常见的url路径形式分别有相对路径与绝对路径,如果base标签指定了目标,浏览器将通过这个目标来解析当前文档中的所有相对路径,包括的标签有(a、img、link、form),也就是说,浏览器解析时会在路径前加上base给的目标,而页面中的相对路径也都转换成了绝对路径。使用了base标签就应带上href属性和target属性。

href属性:
<html>
    <head>
        <base href="http://www.w3school.com.cn/i/" />
    </head>
    <body>
        <img src="eg_smile.gif" /><br />
        <p> 请注意,我们已经为图像规定了一个相对地址。
            由于我们已经在 head 部分规定了一个基准 URL,
            浏览器将在如下地址寻找图片:</p>
        <p>"http://www.w3school.com.cn/i/eg_smile.gif"</p>
    </body>
</html>
target属性:

target属性是网页窗口的打开方式,在base标签中设置该属性,那么页面中所有的链接都将遵循这个方式来打开网页,分别有如下几种选择:

1、 _blank:在新窗口打开链接页面。
2、 _parent:在上一级窗口中打开链接。
3、 _self: 在当前窗口打开链接,此为默认值,可以省略。
4、 _top: 在浏览器的整个窗口打开链接,忽略任何框架。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值