rapid:实现jsp页面代码的复用
1.為啥要使用
在開發jsp頁面時,有很多網頁使用的部分頁面結構相同,這些相同的頁面結構不僅添加時每個頁面都要添加,而且如果要修改這些相同的地方都要修改,給開發及維護帶來了工作量。
通過面向對象的問題思考問題:如果相同的部分抽離出來,使用繼承的關系,基本的有父類定義,子類可以重寫父類的變化的內容。父類可以有多個子類,子類只有一個父類,子類可以有很多子類,這樣多層次的繼承,可以解決以上問題。
對于頁面也是一樣,如果把相同的部分頁面結構抽離成一個父頁面,使用到這個頁面的子頁面就可以繼承這個父頁面,可以覆蓋自己與主頁面不同的頁面內容,也可以自己定義讓子頁面的子頁面覆寫。添加時 只要引入父頁面并修改針對自己的內容就行不再關心相同的頁面結構。在要修改相同頁面結構時只要修改父頁面內容,其下面引用的子孫頁面都會得到相應的更新。
2.尋找答案
下面介紹一下用的到這種技術:rapid中的一種功能 原理和上面說的差不多
3.使用rapid
我主要用在了jsp頁面中,所以只介紹下在jsp中的使用 所需要引入的jar 包:
rapid-core-4.0.jar
因為這個功能主要在jsp頁面中使用的,所以使用的標簽庫方式來實現的,因此先在jsp中引用標簽庫
<%@taglib uri=“http://www.rapid-framework.org.cn/rapid” prefix=“rapid” %>
主要頁面:base.jsp child.jsp grandChildA.jsp grandChildB.jsp
先來看base.jsp即父頁面 ,頁面中使用了rapid:block定義了四個可以讓子頁面重寫的內容塊 head top content footer
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %> <%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><rapid:block name="head"><title>base head</title></rapid:block> </head> <body><rapid:block name="top">base top</rapid:block><rapid:block name="content">base content</rapid:block><rapid:block name="footer">base footer</rapid:block> </body> </html>base.jsp生成后的頁面:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><title>base head</title> </head> <body>base topbase contentbase footer </body> </html>下面是child.jsp這里面使用include引用了base.jsp,這樣代表了直接使用了base.jsp頁面,又使用rapid:override重寫了header和content,并在content創建了一個mychild內容塊
<%@ 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>child head</title> </rapid:override><rapid:override name="content">child content<rapid:block name="mychild">child mychild</rapid:block></rapid:override> <%@include file="base.jsp" %>注意:<%@include file=“base.jsp” %>應寫在代碼末尾:可能是在加載 base.jsp 文件是會先去查看本頁面的 name ,如果本頁面沒有,則去找父頁面的 name(本人猜測,具體還未查明,如有了解的小伙伴,請望告知)
child.jsp生成后的頁面
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <span style="white-space:pre"> </span><title>child head</title> </head> <body> <span style="white-space:pre"> </span>base topchild content <span style="white-space:pre"> </span>base footer </body> </html>原文鏈接:https://blog.csdn.net/zghwaicsdn/article/details/40719259
總結
以上是生活随笔為你收集整理的rapid:实现jsp页面代码的复用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一种红外探测自动开关
- 下一篇: 与客户的沟通技巧