`
42087743
  • 浏览: 236955 次
  • 性别: Icon_minigender_1
  • 来自: 合肥&上海
社区版块
存档分类
最新评论

sitemesh入门

阅读更多
今天自学了个不错的整理页面的小框架: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]
分享到:
评论
1 楼 magicalboy 2009-12-08  
html的乱码直接用html页面编码:
在head标签加入
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

相关推荐

    sitemesh入门demo

    在"**sitemesh入门demo**"中,我们将学习如何设置和使用Sitemesh来创建一个简单的Web应用程序。这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细...

    SiteMesh入门示例

    在这个"SiteMesh入门示例"中,我们将探讨如何使用 SiteMesh 来实现这些功能。 首先,让我们理解 SiteMesh 的核心概念。SiteMesh 包含了两个主要部分:`Decorator` 和 `Filter`。`Decorator` 是一个 HTML 页面,定义...

    sitemesh入门教材

    Sitemesh 是一个开源的网页布局和装饰框架,它用于Java Web应用程序,能够帮助开发者实现页面的统一布局和风格。通过使用Sitemesh,开发者可以将页面的头部、内容区和侧边栏等组件进行分离,然后在不改变各个具体...

    sitemesh装饰器入门

    **Sitemesh装饰器入门** Sitemesh 是一个开源的 Web 应用程序框架,它主要用来帮助开发者实现页面布局和装饰功能。Sitemesh 的核心概念是“装饰器”,这个概念源自于软件设计模式中的装饰者模式。通过使用 Sitemesh...

    sitemesh框架简单例子

    Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和...通过这个简单的入门教程,你可以快速掌握Sitemesh的基本操作,并将其应用到自己的项目中,提升网站的用户体验和设计品质。

    jsp 页面框架sitemesh 全面帮助文档及示例

    - **SiteMesh学习入门.jpg**:可能是介绍Sitemesh基本概念的流程图或者关键步骤的截图。 - **sitemesh2003.ppt**:这可能是一个PowerPoint演示文稿,包含了2003年的Sitemesh介绍或教程。 - **sitemesh.rar** 和 *...

    sitemesh简单demo

    这个“sitemesh简单demo”是一个使用 Maven 构建的项目,旨在提供一个快速入门的示例,帮助初学者理解并掌握 sitemesh 的基本用法。 在 Web 开发中,sitemesh 通过拦截 HTTP 请求,将用户定义的页面模板(通常称为...

    siteMesh demo 例子

    入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt

    sitemesh-2.4.zip

    README.txt 文件是项目的基本指南,它通常包含项目的基本信息、安装步骤、快速入门指南和使用注意事项。对于 Sitemesh,此文件可能会解释如何集成 Sitemesh 到现有的 Web 应用中以及如何配置其装饰器模板。 4. **...

    sitemesh-2.3.zip

    - `README.txt`: 提供了关于 Sitemesh 的基本介绍、安装和使用指南,是快速入门的参考文档。 - `LICENSE.txt`: 描述了 Sitemesh 的许可协议,通常为 Apache 2.0 或 GPL,表明软件的使用权限和限制。 - `build.xml...

    SIteMesh介绍 配有案例

    **SiteMesh介绍** SiteMesh是一个基于Web的页面布局和装饰框架,主要目的是为大型Web应用程序提供一致的页面布局和外观。它使用了设计模式中的Decorator模式,能够将页面的装饰部分(如头部、底部、侧边栏等)与...

    jsf + hibernate + spring入门用例

    其中还用到了sitemesh技术。 是初学者入门的一个好例子。 功能流程描述: 因为是入门的小例子,数据库表只用了一个表。 数据库:test 表: user 字段: id,username,password 就是一个输入用户名和密码,如果正确...

    Grails入门指南 gswg_source

    **Grails入门指南** Grails,作为一款强大的Web应用程序开发框架,因其高效、灵活和便捷的特点,深受开发者喜爱。它采用Groovy动态编程语言作为主要的编写工具,为开发人员提供了一个快速构建复杂Web应用程序的平台...

    Grails入门指南 -- 针对grails1.0.4更新

    - **强大的生态系统**:基于Hibernate(ORM)、Spring框架(MVC、依赖注入)和SiteMesh(界面布局管理)等成熟技术构建。 - **目标用户**: - 已经熟悉Java的开发者,希望通过Groovy语言提高开发效率。 - 希望在...

    Grails入门指南

    《Grails入门指南》知识点详解 一、Grails概述与特性 Grails是一个基于Groovy的Web应用开发框架,融合了敏捷开发理念与Java技术生态的成熟性。它旨在简化Web应用的开发流程,减少重复编码,提倡约定优于配置的原则...

    Java高手真经_应用框架卷_Java_Web核心框架.part1.rar

     表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。..  表现层框架struts 2:讲解struts 2...

    Java高手真经_应用框架卷_Java_Web核心框架.part2.rar

     表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。..  表现层框架struts 2:讲解struts 2...

    Java高手真经_应用框架卷_Java_Web核心框架.part3.rar

     表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。..  表现层框架struts 2:讲解struts 2...

Global site tag (gtag.js) - Google Analytics