今天自学了个不错的整理页面的小框架:sitemesh.它可以实现页面布局简单化.下面贴出它的入门:
首先需要下载sitemesh的jar包,地址是
http://www.opensymphony.com/sitemesh/download.html,我下了他的最新版本2.3.然后从下载的文件中找出sitemesh.jar和它的2个tld文件,丢到web-inf下.
下一步,在web.xml中添加过滤器
<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>
假如是和struts2一起进行使用,需要再添加struts2的过滤器,这里顺序必须十分注意:
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>
com.opensymphony.module.sitemesh.filter.PageFilter
</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
接下来再从下载的文件中找出2个模版,sitemesh.xml和decorators.xml,放到web-inf下,随后在webcontent下建立decorators的文件夹,里面放的是sitemesh的模版:
<%@ page contentType="text/html; CHARSET=utf8" pageEncoding="utf-8"%>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator"%>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>
<html>
<head>
<title><decorator:title default="welcome" /></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<decorator:head />
</head>
<body id="page-home"
<div id="page-total">
<div id="page-header">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="topFunc">
登陆|退出
</div>
</td>
</tr>
</table>
</div>
</div>
<div id="page-menu" style="margin-top: 8px; margin-bottom: 8px;">
<div>
菜单
</div>
</div>
<div id="page-content" class="clearfix">
<center>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<decorator:body />
</td>
</tr>
</table>
</center>
</div>
<div id="page-footer" class="clearfix">
底部
</div>
</body>
</html>
下面就可以写自己的网页了,比如我写个简单的:
<html>
<head>
<script type="text/javascript" src="js/index.js"></script>
<title>abc</title>
</head>
<body>
哈哈
</body>
</html>
<head>中的内容就会加到<decorator:head/>中,body一样.
下面就要说到sitemesh的一个比较严重的缺点,即中文问题.有3个方面,一个是模版中的乱码,这个需要在Servletfilter中对response也进行设置编码,第二个是jsp页面中的乱码,可以在页首加上<%@ page contentType="text/html;charset=utf-8"%>来解决,第三个是html的乱码,这个我到现在还没有找到比较可行的方法,希望哪位大侠可以告诉我.
[/size]
分享到:
相关推荐
SiteMesh入门学习,很好的学习总结,让你在短时间里掌握sitemesh
sitemesh入门demo。博客 Sitemesh入门和使用笔记 对应源码
sitemesh 入门教材 对初学者很有用,里边有实例 freemarker Java
NULL 博文链接:https://cuisuqiang.iteye.com/blog/2066166
很简单的sitemesh入门教程,希望对大家有所帮助
struts2-sitemesh_入门收集struts2-sitemesh_入门收集
这是SiteMesh入门级别的资料,配有一个较为全面的案例,仅供入门级别的朋友下载。
NULL 博文链接:https://mgxy123.iteye.com/blog/1565892
入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt
其中还用到了sitemesh技术。 是初学者入门的一个好例子。 功能流程描述: 因为是入门的小例子,数据库表只用了一个表。 数据库:test 表: user 字段: id,username,password 就是一个输入用户名和密码,如果正确...
Grails是一套用于快速开发Web应用系统的框架,基于Groovy动态语言。并构建在开源技术如:Spring,Hibernate和SiteMesh之上。
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...
表现层框架Struts 1:讲解Struts 1的入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成、数据库开发技术,并分别实现与Hibernate、iBATIS持久层框架的集成开发。..表现层框架Struts 2:讲解Struts 2的...
本文首先会给出关于 java后台开发 和 前端适配 的一些建议学习路线,接着简单解释一些应用到的高频技术,帮助大家理解和学习,算是一个入门篇。 2.Java后台开发知识一览 1、后端 WEB服务器:Weblogic、Tomcat、...
第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...
入门指南jappstart是一个基于Spring,Spring Security和Sitemesh的Google App Engine Java框架。 该项目旨在成为Google App Engine Java应用程序的起点。 它不是传统意义上的框架,而是旨在为开发人员可以轻松扩展的...
Appfuse是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdoclet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持。 AppFuse是一个集成了...
6.2.4 使用Sitemesh布局 6.3 标签库 6.3.1 简单标签 6.3.2 逻辑标签 6.3.3 迭代标签 6.3.4 标签命名空间 6.4 URL映射 6.4.1 映射到控制器和操作 6.4.2 嵌入式变量 6.4.3 映射到视图 6.4.4 映射到响应代码 6.4.5 映射...