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

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

了解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的。

 

测试工程:

 

参考:

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

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

你可能感兴趣的文章
jQuery中attr和prop方法的区别
查看>>
centos7搭建需密码登入的简易ftp服务器
查看>>
说一下fopen和open
查看>>
12月28日二周四次【Python基础语法】
查看>>
并发编程2:认识并发编程的利与弊
查看>>
MySQL(mysql 5.7)用户密码的管理
查看>>
学习笔记第三十一节课
查看>>
六周第三次课 9.6/9.7 awk
查看>>
【VMware vSAN 6.6】5.1.基于存储策略的管理:vSAN硬件服务器解决方案
查看>>
我为什么看好IPFS
查看>>
【Ansible】3个让Ansible性能飞起的简单优化方案!
查看>>
在mac上安装 docker
查看>>
rsyslog日志管理+LogAnalyzer
查看>>
man命令详解
查看>>
linux发行版本
查看>>
网站被黑搜索快照被劫持怎么办
查看>>
怎么修改CAD编辑器中默认的线型
查看>>
Servlet简介与Servlet和HttpServlet运行的流程
查看>>
华为--PPP典型配置举例
查看>>
sqoop配置与使用
查看>>