`
黑猪王子
  • 浏览: 131570 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

sitemesh的html中文乱码

阅读更多

今天用到了sitemesh,恩,装饰模式还是很棒的   上手也很快  感觉上比tiltes要好用

但是遇到一个小问题:html中文乱码

 

当然除了对JSP的乱码解决方案外

 

网上就有如是说

 

///////////////////////////////////////////////////////////////

静态html在sitemesh中乱码的解决方法。
 前提条件:sitemesh的decorator的编码全部用UTF-8,使用SetCharacterEncodingFilter把request的encoding也
 设置成UTF-8

 问题1、decorator中的内容出现乱码。
 原因:
 解决方法:改进SetCharacterEncodingFilter,使它对response也设置encoding为UTF-8
 
 问题2、被修饰的html内容出现乱码。
 原因:sitemesh根据html的contenttype(例如:text/html;charset=utf-8)来决定html文件的encoding,
 如果contenttype是像(text/html)这样的形式,sitemesh就无法知道html的encoding,这时sitemesh就
 使用DEFAULT_ENCODING即System.getProperty("file.encoding"),在jetty中正是后面那样,估计tomcat也是这样。
 
 解决方法:使html的encoding和System.getProperty("file.encoding")相同。
   1、启动jetty时将java系统变量file.encoding设置为UTF-8,html的编码也用UTF-8.(推荐)

//////////////////////////////////////////////////////

 

唉  我可以不愿来改服务器的编码,所以简单解决方案 html后缀名直接改jsp

OK了

 

希望能有智者指示下更好方法

分享到:
评论
4 楼 xutao5641745 2011-07-04  
楼主英明,,,,,测试成功。。。。。。


之前没看你帖子的时候,我都是把HTML不进行过滤的,,,,都排除。。。。。哈哈,虽然可以防止乱码,但是觉得不好。。。。
3 楼 mhhtj 2009-05-24  
黑猪王子 写道

mhhtj 写道
请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

不好意思  后面就没再多研究了,没有找到其他方法了

呵呵,我现在只好都改成jsp了,不用html了。
2 楼 黑猪王子 2009-04-16  
mhhtj 写道

请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

不好意思  后面就没再多研究了,没有找到其他方法了
1 楼 mhhtj 2009-04-13  
请问你这个问题后来有更好的解决方法么?我试过修改服务器的编码,依然静态页面中文乱码。。。

相关推荐

    sitemesh2 集成velocity 装饰页面乱码

    集成sitemesh2和velocity时,可能会遇到页面乱码问题。这通常是由于字符编码设置不一致导致的。为解决这个问题,我们需要确保以下几个方面都使用了正确的字符编码: 1. **项目配置**:确保你的项目配置文件(如web....

    sitemesh

    其他文件如 `badsource.html`、`badpanel.html`、`google.html` 等可能是未经装饰的原始页面,它们会被Sitemesh按照母版样式进行装饰。`freemarker.html` 和 `velocity.html` 暗示了Sitemesh可以与FreeMarker和...

    SiteMesh教程及SiteMesh官方文档翻译

    ### SiteMesh教程及SiteMesh官方文档翻译 #### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件...

    sitemesh框架简单例子

    Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和感觉。这个框架的主要功能是将页面的主体内容与页眉、页脚、侧边栏等通用部分分离,使得在大量网页中保持一致的设计风格变得...

    Sitemesh 3 的使用及配置

    这里,`decorator.html`作为母版页,其中通过`<sitemesh:write>`标签将`demo.html`的内容嵌入进来。 #### 五、添加/WEB-INF/sitemesh3.xml 配置文件 Sitemesh的配置文件位于项目的`/WEB-INF/`目录下,用于定义哪些...

    SiteMesh

    SiteMesh 是一个开源的Web应用程序框架,主要用于帮助开发者实现页面布局和装饰功能。它通过拦截HTTP请求,将页面内容与布局模板相结合,从而提供了一种简单有效的方式来管理和控制Web应用的外观和感觉。在Web开发中...

    java sitemesh 页面框架

    Java Sitemesh是一个开源的页面布局和装饰框架,它的主要目标是帮助开发者统一网站的外观和感觉,提高代码复用性,并简化页面的复杂性。Sitemesh通过将页面分为内容区域和装饰模板来实现这一目标,使得开发者可以...

    siteMesh demo+文档

    SiteMesh 是一个开源的Web应用程序布局和装饰框架,主要用于解决Web应用中的页面布局问题。它通过拦截HTTP请求,将页面内容与预定义的布局模板相结合,实现统一的页面头部、底部和侧边栏等元素,从而提高网站的整体...

    sitemesh 例子

    Sitemesh的工作原理是通过拦截HTTP请求,将请求的内容与预先定义好的模板结合,生成最终的HTML页面。 在"Sitemesh 例子"中,我们可以探索如何在实际项目中运用Sitemesh。首先,我们需要了解Sitemesh的基本配置。这...

    页面装饰器(sitemesh)实例源代码

    3. **创建装饰模板**:Sitemesh使用HTML文件作为装饰模板,你可以根据需求创建一个基础模板,例如`layout.html`,该模板通常包含页头、页脚、侧边栏等公共部分。 4. **设置页面内容**:对于每个需要装饰的页面,...

    sitemesh例子

    **Sitemesh简介** Sitemesh 是一个开源的 Web 应用程序装饰框架,主要用于解决网页布局和页面统一风格的问题。它通过拦截 HTTP 请求,将请求的页面内容与预先定义好的模板结合,使得开发者可以轻松地创建出统一的...

    sitemesh jar包机tld文件

    在Java Web开发中,SiteMesh是一个非常流行的页面布局框架,它可以帮助开发者轻松地实现网站的统一外观和感觉,以及提供页面装饰功能。标题中的“sitemesh jar包”指的是SiteMesh框架的核心库文件,它是SiteMesh功能...

    sitemesh-2.2.1.jar sitemesh-2.2.1.jar

    通过在服务器端拦截HTTP请求,Sitemesh将内容页面和装饰模板结合,生成最终的HTML响应。 **Sitemesh的工作原理**: 1. 当用户请求一个Web页面时,Sitemesh会捕获这个请求。 2. 它会分析请求的URL,判断是否需要进行...

    freemarker 与sitemesh 整合例子

    Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合可以帮助开发者更好地管理和呈现网页内容。 **Freemarker**...

    sitemesh布局知识点汇总

    ### Sitemesh布局知识点汇总 #### 一、Sitemesh简介 Sitemesh是一个非常实用且功能强大的Web页面布局和装饰框架,适用于多种Web应用程序,包括但不限于Java(JSP)、PHP、ASP等技术栈下的应用。它能够有效地帮助...

    springMVC与sitemesh的结合

    而Sitemesh则是一个页面布局和装饰框架,主要用于处理Web应用中的页面布局问题,比如统一头部、底部和侧边栏,提升用户体验并简化开发。 将Spring MVC与Sitemesh结合使用,可以实现更高效的Web应用开发。以下是对这...

    sitemesh装饰器入门

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

    sitemesh3-demo

    1. **装饰器(Decorator)**: 装饰器是Sitemesh的核心,它是一个HTML页面,用于定义网站的通用布局。例如,你可以创建一个包含头部、主体和尾部的装饰器,然后将所有页面内容插入到主体区域。 2. **过滤器(Filter...

    sitemesh.jar包

    sitemesh.jar包 sitemesh.jar 包sitemesh.jar 包sitemesh.jar包

Global site tag (gtag.js) - Google Analytics