您的位置:首页 > 其它

sitemesh学习

2015-08-31 08:58 253 查看

1.  sitemesh

布局框架,用于修饰页面

1.1下载sitemesh-2.4.2.jar

1.2 web.xml引入

       
<filter>
        <filter-name>sitemeshFilter</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>sitemeshFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

1.3 WEB-INF下新建decorators.xml,如下

<?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>

  
<!-- 

<decorator
name="default"page="default.jsp">
<decorator
name="footer"page="footer.jsp">

-->

</decorators>

1.4 根目录新建文件夹layouts,如下

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"%>
      
c45d
  <div
id="content">
            <sitemesh:body/>
        </div>
    <%@
include file="/layouts/footer.jsp"%>
</body>
</html>

footer.jsp:

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

header.jsp:

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

1.5 WEB-INF下index.jsp

index.jsp:

<%@
page language="java"
contentType="text/html;charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@
taglib uri="http://java.sun.com/jsp/jstl/core" 
prefix="c" 
%>
<%
Stringpath = request.getContextPath();
StringbasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE
htmlPUBLIC
"-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
<!-- <meta name="decorator" content="default"/>  content值引入decorator的name -->

    <base
href="<%=basePath%>">
    <title>HELLO</title>
  </head>
 
  <body>
    WELCOME!!!
  </body>
</html>

1.6 访问项目下index.jsp,如

注: <sitemesh:title/>、<sitemesh:head/>、<sitemesh:body/>套用原页面数据,<sitemesh:head/>可以引入原页面css、js
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: