欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java SiteMesh新手學(xué)習(xí)教程代碼案例

 更新時間:2020年10月19日 09:49:28   作者:cuisuqiang  
這篇文章主要介紹了Java SiteMesh新手學(xué)習(xí)教程代碼案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

官網(wǎng):http://wiki.sitemesh.org/wiki/display/sitemesh/Home

也可以下載官方的示例Demo參考和學(xué)習(xí),這里我只做一個簡單示例,演示最基本的使用

首先就是加Jar包,我用的是sitemesh-2.4.2.jar,然后在web.xml中增加過濾器:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
 <welcome-file-list> 
 <welcome-file>index.jsp</welcome-file> 
 </welcome-file-list> 
 <filter> 
 <filter-name>sitemesh</filter-name> 
 <filter-class> 
  com.opensymphony.module.sitemesh.filter.PageFilter 
 </filter-class> 
 </filter> 
 <filter-mapping> 
 <filter-name>sitemesh</filter-name> 
 <url-pattern>/*</url-pattern> 
 </filter-mapping> 
</web-app> 

增加SiteMesh配置文件decorators.xml,該文件放在WEB-INF下:

<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/layouts/">
 <!-- 不需要過濾的請求 -->
 <excludes>
 <pattern>/static/*</pattern>
 <pattern>/remote/*</pattern>
 </excludes>
 <!-- 定義裝飾器要過濾的頁面 -->
 <decorator name="default" page="default.jsp">
 <pattern>/*</pattern>
 </decorator>
</decorators>

在根目錄下新建文件夾layouts,然后新建三個JSP,一個是默認(rèn),一個輸出頭,一個輸出尾,默認(rèn)頁面引用其他兩個。
默認(rèn)頁面default.jsp:

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>SiteMesh示例-<sitemesh:title/></title>
<sitemesh:head/>
</head>
<body>
 <%@ include file="/layouts/header.jsp"%>
 <div id="content">
  <sitemesh:body/>
 </div>
 <%@ include file="/layouts/footer.jsp"%>
</body>
</html>

簡單說明:

  • 引入了SiteMesh標(biāo)簽。
  • <sitemesh:title/> 會自動替換為被過濾頁面的title。
  • <sitemesh:head/> 會把被過濾頁面head里面的東西(除了title)放在這個地方。
  • <sitemesh:body/> 被過濾的頁面body里面的內(nèi)容放在這里。

頭部引入js和css,都可以在其他重用。

頭頁面header.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

菜單信息

尾頁面footer.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
版權(quán)信息

在根下新建一個文件夾static,用于實驗是否攔截,在該文件夾下新建JSP:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 <head> 
  <base href="<%=basePath%>" rel="external nofollow" > 
  <title>有人攔截我嗎?</title> 
 </head> 
 <body> 
  有人攔截我嗎? 
 </body> 
</html> 

訪問:http://127.0.0.1:8080/sitemesh/index.jsp這個會攔截

訪問:http://127.0.0.1:8080/sitemesh/static/index.jsp則不會攔截處理

根據(jù)頁面看實際效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Spring?@Profile注解的使用和源碼解析

    詳解Spring?@Profile注解的使用和源碼解析

    這篇文章主要將通過源碼帶大家深入了解一下Spring中@Profile注解的原理與使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • MybatisPlus中的多表條件排序查詢

    MybatisPlus中的多表條件排序查詢

    這篇文章主要介紹了MybatisPlus中的多表條件排序查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MyBatis超詳細(xì)講解如何實現(xiàn)分頁功能

    MyBatis超詳細(xì)講解如何實現(xiàn)分頁功能

    MyBatis-Plus?是一個?Mybatis?增強(qiáng)版工具,在?MyBatis?上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,本篇文章帶用它實現(xiàn)分頁功能
    2022-03-03
  • Maven方式構(gòu)建SpringBoot項目的實現(xiàn)步驟(圖文)

    Maven方式構(gòu)建SpringBoot項目的實現(xiàn)步驟(圖文)

    Maven是一個強(qiáng)大的項目管理工具,可以幫助您輕松地構(gòu)建和管理Spring Boot應(yīng)用程序,本文主要介紹了Maven方式構(gòu)建SpringBoot項目的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • FastJSON字段智能匹配踩坑的解決

    FastJSON字段智能匹配踩坑的解決

    這篇文章主要介紹了FastJSON字段智能匹配踩坑的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot整合RabbitMQ消息隊列的完整步驟

    SpringBoot整合RabbitMQ消息隊列的完整步驟

    這篇文章主要給大家介紹了關(guān)于SpringBoot整合RabbitMQ消息隊列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Json轉(zhuǎn)化為Java對象的實例詳解

    Json轉(zhuǎn)化為Java對象的實例詳解

    這篇文章主要介紹了Json轉(zhuǎn)化為Java對象的實例詳解的相關(guān)資料,前后端數(shù)據(jù)交互的情況經(jīng)常會遇到Json串與java 對象的相互轉(zhuǎn)換方便操作,需要的朋友可以參考下
    2017-08-08
  • arthas排查jvm中CPU占用過高問題解決

    arthas排查jvm中CPU占用過高問題解決

    這篇文章主要介紹了arthas排查jvm中CPU占用過高問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java實現(xiàn)特定范圍的完數(shù)輸出算法示例

    Java實現(xiàn)特定范圍的完數(shù)輸出算法示例

    這篇文章主要介紹了Java實現(xiàn)特定范圍的完數(shù)輸出算法,簡單說明了完數(shù)的概念、計算原理并結(jié)合實例形式分析了java針對給定范圍內(nèi)的完數(shù)輸出操作實現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • Java實現(xiàn)的數(shù)字簽名算法RSA完整示例

    Java實現(xiàn)的數(shù)字簽名算法RSA完整示例

    這篇文章主要介紹了Java實現(xiàn)的數(shù)字簽名算法RSA,結(jié)合完整實例形式詳細(xì)分析了RSA算法的相關(guān)概念、原理、實現(xiàn)方法及操作技巧,需要的朋友可以參考下
    2019-09-09

最新評論