<导航

<jsp:include />与<%@ include %>简单总结

一、<%@ include file="#"%>

处理方式:内容原封不动插入包含页使用该指令的位置,jsp编译器再对这个合成的文件进行编译,编译后的文件只有一个。


包含方式:服务器将两个文件合成后由jsp编译器编译成一个class文件,所以被包含文件的内容是固定不变的,若改变此文件,主文件会重新编译。也称静态包含。

1、新建两个jsp页面

2、在a.jsp页面中添加如下代码,让它包含b.jsp

3、b.jsp页面代码如下

4、在浏览器中访问a.jsp

5、右键查看源代码,发现把b.jsp页面的所有代码头包含进来了

6、查看eclipse下的发布文件,发现只有a.jsp的编译文件而没有b.jsp的

7、查看a_jsp.java文件如下

8、总结:

inlucde 用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件,这种在源文件级别进行引入的方式称之为静态引入,当钱JSP页面与静态引入的页面紧密结合为一个Servlet。

可以把公共的要引入的css 或者js资源文件放在一个公共被引入的jsp中,这个jsp中直接声明jsp以后只写引入的资源就可以了,不用写head body meta 等等。然后在其他jsp中被引入,简洁。

二、<jsp:include page ="#" flush="true|false"/>

处理方式:当该动作被执行时,程序会将请求转发到被包含的页面,并将结果输出到浏览器中,然后返回包含页执行后面的代码。为服务器执行的是两个文件,jsp编译器会对两个文件进行编译


包含方式:通常用来包含那些需要经常改动的文件,服务器执行的是两个文件,被包含文件的改动不会影响主文件,服务器不会对主文件重新编译,只需对被改动的文件重新编译即可。当该动作标识被执行时,该标识包含的目标文件才会被编译,否则不编译。也称动态包含。

使include页面携带入参

<jsp:include page=”common/a.jsp” flush=”true” >

<jsp:param name=”fitstParamer” value=”firstValue”>

<jsp:param name=”lastParamer” value=”lastValue”>

</jsp:include>

 例如:

<jsp:include page="/common/page-footer.jsp">
  <jsp:param name="total" value="${pageBean.total}"/>
  <jsp:param name="totalPage" value="${pageBean.totalPage}"/>
  <jsp:param name="pageNo" value="${pageBean.pageNo}"/>
  <jsp:param name="fixed" value="true" />
</jsp:include>

 

posted @ 2018-07-03 18:52  字节悦动  阅读(398)  评论(0编辑  收藏  举报