日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rapid:实现jsp页面代码的复用

發布時間:2024/1/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rapid:实现jsp页面代码的复用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.為啥要使用

在開發jsp頁面時,有很多網頁使用的部分頁面結構相同,這些相同的頁面結構不僅添加時每個頁面都要添加,而且如果要修改這些相同的地方都要修改,給開發及維護帶來了工作量。

通過面向對象的問題思考問題:如果相同的部分抽離出來,使用繼承的關系,基本的有父類定義,子類可以重寫父類的變化的內容。父類可以有多個子類,子類只有一個父類,子類可以有很多子類,這樣多層次的繼承,可以解決以上問題

對于頁面也是一樣,如果把相同的部分頁面結構抽離成一個父頁面,使用到這個頁面的子頁面就可以繼承這個父頁面,可以覆蓋自己與主頁面不同的頁面內容,也可以自己定義讓子頁面的子頁面覆寫。添加時 只要引入父頁面并修改針對自己的內容就行不再關心相同的頁面結構。在要修改相同頁面結構時只要修改父頁面內容,其下面引用的子孫頁面都會得到相應的更新。

2.尋找答案

下面介紹一下用的到這種技術:rapid中的一種功能 原理和上面說的差不多

3.使用rapid

我主要用在了jsp頁面中,所以只介紹下在jsp中的使用 所需要引入的jar 包:
rapid-core-4.0.jar

<dependency><groupId>com.googlecode.rapid-framework</groupId><artifactId>rapid-core</artifactId><version>4.0.5</version></dependency>

因為這個功能主要在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页面代码的复用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。