博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SiteMesh2-示例工程
阅读量:6075 次
发布时间:2019-06-20

本文共 2358 字,大约阅读时间需要 7 分钟。

了解SiteMesh的最佳方法是使用它。假设SiteMesh设置在您的Web应用程序中,本教程将展示如何掌握SiteMesh最强大的方面,如下所示装饰页面:

效果发生在第2步,其中Menu.jsp页面呈现为html。在html页面发送到客户端浏览器之前,该页面由单个文件basic-theme.jsp进行装饰。

在此示例中,添加了一个Menu.jsp,添加了一个Footer.jsp,而没有任何额外的代码被添加到Menu.jsp。

示例操作步骤:

0、整体项目结构:

1、POM引入依赖:

opensymphony
sitemesh
2.4.2

在WEB-INF中新建lib文件夹,并引入SiteMesh标签

2、配置web.xml,增加filter:

sitemesh
com.opensymphony.sitemesh.webapp.SiteMeshFilter
sitemesh
*.jsp

注意:根据需要进行匹配,这里只匹配jsp页面。

配置标签url:

http://www.opensymphony.com/sitemesh/decorator
/WEB-INF/lib/sitemesh-decorator.tld
http://www.opensymphony.com/sitemesh/page
/WEB-INF/lib/sitemesh-page.tld

3、新建decorators文件夹,并新建basic-theme.jsp文件用于做为模板页

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>        

Header

Navigation



Footer

4、新建data文件夹,并新建menu.jsp和hours.jsp

menu.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>    Menu    

Beverages

Cappucino $3.25

Latte $3.35

Espresso $2.00

Mocha $3.50

hours.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>    Hours    

Weekdays

5:00pm - 10:00pm

Weekends

5:00pm - 10:00pm

5、在WEB-INF文件夹下新建decorators.xml文件,用于页面拦截和排除规则

/data/*

说明:上面的规则拦截data文件夹下的jsp页面,并把内容替换为decorators/basic-theme.jsp模板页的内容。

6、在WEB-INF文件夹下新建sitemesh.xml文件,添加如下规则:

说明:这个文件类似Spring的Bean注入,把来接规则配置好然后通过此文件进行注入和实例化。

7、运行并访问menu.jsp文件,效果如下:

可以看出,内容集成了模板页basic-theme.jsp的内容,其中body部分就是menu.jsp的。

 

测试工程:

 

参考:

转载地址:http://axngx.baihongyu.com/

你可能感兴趣的文章
Hadoop HDFS Federation 配置
查看>>
个人简历制作工具V1.09
查看>>
trip的数据类型
查看>>
C语言常见问题分析(1)
查看>>
ubuntu14.04安装nginx+php5-fpm
查看>>
试用mysql的infobright引擎
查看>>
Select 模型简介
查看>>
WAN技术
查看>>
Linux中影响变量的命令
查看>>
记一个命令msinfo32
查看>>
windows server 加入Samba NT域
查看>>
TCL中Expect 交互的学习小结
查看>>
iptables+squid经典配置实例,squid经典配置实例,iptables经典配置实例
查看>>
mesos 集群安装部署chronos(5)
查看>>
ceph 集群报错:mds0: Client failing to respond to capability release
查看>>
TFTP与FTP的比较
查看>>
通过javaAPI上传文件到HDFS文件系统
查看>>
【学神】 1-0学习前的准备及基础知识
查看>>
rsync介绍
查看>>
GlusterFS架构介绍及运维说明
查看>>