jsp继承rapid库

如果jsp不使用继承方式开发,而是用标准的指令或动作元素去include,实在是太多重复代码。

rapid-framework是谷歌的一个项目,可以实现jsp网页的继承,也就是书写模板页。

但是在maven上的最新版本是4.0.5,最新维护时间是2011年,不知道是用的人实在不多,还是项目结束了,困惑中。。。所以关于jsp模板继承还没找到更简单的方式。

这个让我想到jstl标准标签库,也是最新维护时间2011年。是真的跟不上时代步伐,还是这些库已经达到预期功能,所以不再维护了。一直困惑中,本人的原因对于长时间不维护的项目不是太敢用,网上也没找到很好的答案(为什么不再维护了)。

下面是rapid的maven地址:不过按照maven的方式添加依赖,会自动添加很多jar库。

1 <!-- https://mvnrepository.com/artifact/com.googlecode.rapid-framework/rapid-core -->
2 <dependency>
3     <groupId>com.googlecode.rapid-framework</groupId>
4     <artifactId>rapid-core</artifactId>
5     <version>4.0.5</version>
6 </dependency>

经过测试,直接下载rapid-core.jar单个文件放在lib下也可。

模板页的写法:

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 4 <%@ taglib prefix="rapid" uri="http://www.rapid-framework.org.cn/rapid" %>
 5 <!DOCTYPE HTML>
 6 <html>
 7 <head>
 8     <rapid:block name="head"></rapid:block>
 9     <link href="../css/common.css" rel="stylesheet">
10 </head>
11 <body>
12   <div>
13       <rapid:block name="body"></rapid:block>
14   </div>
15   <div>
16       <rapid:block name="foot"></rapid:block>
17   </div>
18 </body>
19 </html>

继承页面的写法:

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
 2 <%@ taglib prefix="rapid" uri="http://www.rapid-framework.org.cn/rapid" %>
 3 <rapid:override name="head">
 4     <title>登录</title>
 5 </rapid:override>
 6 
 7 <rapid:override name="body">
 8     <p>controller传递的值:${userName}</p>
 9 </rapid:override>
10 
11 <jsp:include page="../index.jsp" flush="true"></jsp:include>

注意:include动作元素要放在最后,不能放在前面,否则不能正常工作。

rapid-core下载

posted on 2017-04-08 17:56  jonney_wang  阅读(1822)  评论(0编辑  收藏  举报

导航