JSP 页面静态导入和动态导入

jsp 页面静态导入和动态导入

静态导入

<%@include file="head.jsp" %>

动态导入
动态导入只有在执行到它的时候才加载
<%--JSP动作元素,JSP标签元素--%>
<jsp:include page="header.jsp">
    <jsp:param value="值" name="变量名"/>
</jsp:include>


两者的区别:

静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
静态导入是先包含,再编译,两个页面融合成一个整体Servlet,最终会生成一个.java文件和.class文件;静态包含时,包含页面上定义的java变量,在被包含页面上可以直接使用,反之也可以。
动态导入是先编译,再包含,在Servlet中使用include方法来引入被导入页面的内容,最终会生成两个.java文件和.class文件;动态包含时,包含页面上定义的java变量,在被包含页面上是不能访问的,要传递参数,需要通过jsp:param来传递。反之则不行。
生成的文件不同,静态的包含是将两个jsp文件二合一,生成一个以包含页面命名的servlet和class文件,动态包含的两个jsp文件各自生成自己的servlet和class文件。
动态导入用的元素是page。静态导入用的是file。

静态导入传递参数:
传参方式一:在浏览器请求localhost:8080/a.jsp?name=jack&age=18时被包含的jsp页面是可以访问name和age该参数的。
传参方式二: 包含的页面可以传递参数给被包含的页面。


动态导入传递参数:
<jsp:include page="header.jsp" >
    <jsp:param name="name" value="我是测试参数"/>
</jsp:include>

注:静态导入和动态导入传递参数有中文,一定要在include之前设置request的编码为UTF-8,否则到被包含页面取值会乱码。如果是动态导入在客户端访问包含页面时地址栏后面直接加上参数后传递,这种形式的传参是客户端送来的,但是这两个页面的request对象不是同一个,因为包含的页面可以向被包含的页面传递参数,所以被包含的request对象含的参数个数应该大于等于包含页面的参数个数的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值