`
42087743
  • 浏览: 232066 次
  • 性别: 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入门学习

    SiteMesh入门学习,很好的学习总结,让你在短时间里掌握sitemesh

    sitemesh入门demo

    sitemesh入门demo。博客 Sitemesh入门和使用笔记 对应源码

    sitemesh入门教材

    sitemesh 入门教材 对初学者很有用,里边有实例 freemarker Java

    SiteMesh入门示例

    NULL 博文链接:https://cuisuqiang.iteye.com/blog/2066166

    sitemesh框架简单例子

    很简单的sitemesh入门教程,希望对大家有所帮助

    struts2-sitemesh_入门收集

    struts2-sitemesh_入门收集struts2-sitemesh_入门收集

    SIteMesh介绍 配有案例

    这是SiteMesh入门级别的资料,配有一个较为全面的案例,仅供入门级别的朋友下载。

    sitemesh装饰器入门

    NULL 博文链接:https://mgxy123.iteye.com/blog/1565892

    siteMesh demo 例子

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

    jsf + hibernate + spring入门用例

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

    Grails入门指南 gswg_source

    Grails是一套用于快速开发Web应用系统的框架,基于Groovy动态语言。并构建在开源技术如:Spring,Hibernate和SiteMesh之上。

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

    Java高手真经 应用框架卷 源码

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

    Java后端知识图谱帮助Java初学者成长.rar

    本文首先会给出关于 java后台开发 和 前端适配 的一些建议学习路线,接着简单解释一些应用到的高频技术,帮助大家理解和学习,算是一个入门篇。 2.Java后台开发知识一览 1、后端 WEB服务器:Weblogic、Tomcat、...

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...

    google-app-engine-jappstart:Google App Engine的Java框架

    入门指南jappstart是一个基于Spring,Spring Security和Sitemesh的Google App Engine Java框架。 该项目旨在成为Google App Engine Java应用程序的起点。 它不是传统意义上的框架,而是旨在为开发人员可以轻松扩展的...

    Appfuse教程Appfuse开发.pdf

    Appfuse是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdoclet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持。  AppFuse是一个集成了...

    Grails 中文参考手册

    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 映射...

Global site tag (gtag.js) - Google Analytics