实现JSP的继承(动态include)

来源:互联网 发布:企业移动办公软件 编辑:程序博客网 时间:2024/05/17 06:34

通过repid和include,实现javaweb的JSP文件继承(动态include)功能。

引言

有用过Djangog框架的小伙伴应该都使用过extends(继承)功能:

新建一个base.html,搭建起每个页面的框架:
每个页面都一样的(比如导航栏)部分则只需要在base.html文件中进行书写,其他页面因为extends了base.html,所以不需要再写一次。至于每个页面都不一样的部分,base在最开始的时候就通过block将其分为不同的块,比如head block,content block……其他继承于base的页面文件则只需要修改这些block的内容,就能实现所有页面的动态继承了。
这样,既避免了很多完全一样的代码的书写,也能避免一些框架一样,但具体内容不同的代码的书写。

类似的,JAVAWEB也能实现Django的extends功能,不过需要借助一些jar包。

实现步骤

1. 配置jar包

需要以下箭头所指的两个包,具体下载地址搜jar包的名字就有很多。
这里写图片描述
将以上两个jar包加入工程的lib文件夹中即可。

2. 编写base.jsp

```<%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>  <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %><html>     <rapid:block name="head">base_head</rapid:block>     <!-- 新建一个名为head的block --><body>      Hello!    <rapid:block name="content">base_content</rapid:block>  </body>  </html>  ```

3. 编写index.jsp

```<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>  <rapid:override name="head">      <title>主页</title></rapid:override>  <rapid:override name="content">      <div class="container">        <ul class="row">            <h2 class="text-center">Here is the index.</h2><br/>                            </ul>    </div></rapid:override>  <%@ include file="base.jsp" %>  ```

4. 访问index页面

这里写图片描述

以上,实现了JSP的继承(动态include)功能。

0 0