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动作元素要放在最后,不能放在前面,否则不能正常工作。
posted on 2017-04-08 17:56 jonney_wang 阅读(1822) 评论(0) 编辑 收藏 举报