使用strtus2开发一个项目,使用了sitemesh。页面全部使用UTF-8编码,可是在经过sitemesh装饰后会发现中文都成乱码(在weblogic9.2下跑)。网上找了很多资料都没有合适的能解决这个问题的。后来研究了sitemesh的源码,终于发现问题所在。
sitemesh在处理编码时会使用系统的编码,com.opensymphony.module.sitemesh.filter.TextEncoder文件中,
private static final String DEFAULT_ENCODING = System.getProperty("file.encoding");
private static final boolean JDK14 =
System.getProperty("java.version").startsWith("1.4")
|| System.getProperty("java.version").startsWith("1.5");
public char[] encode(byte[] data, String encoding) throws IOException {
if (encoding == null) {
encoding = DEFAULT_ENCODING;
}
//encoding = "UTF-8";
if (JDK14) {
return get14Buffer(data, encoding);
} else {
return get13Buffer(data, encoding);
}
}
问题根源找到了,怎么改就是自己的事情了。确保在进入sitemesh之前设定系统编码即可。呵呵
分享到:
相关推荐
【标题】"个人测试用报表项目(sitemesh+struts2+birt)"涉及到的主要技术栈是Sitemesh、Struts2和BIRT,这是一个经典的Java Web开发组合,用于构建动态、数据丰富的报表系统。 Sitemesh是Java的一个开源页面布局...
在SSH2集成中,Sitemesh可以用来装饰Struts2的Action结果页面,确保每个页面都有统一的头部、底部和侧边栏等元素。 **Spring框架**: Spring的核心是IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented ...
jQuery+json+struts2+spring3(事务,AOP,IoC即DI)+hibernte3+EhCache+oscache+proxool+MySQL+SiteMesh+Gzip lj例子
基于Struts2的SSH2整合架构,并在此架构基础上实现一个完整的办公自动化系统。在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit...
Struts2、Spring2、Hibernate3和Sitemesh是经典的Java Web开发框架组合,它们在构建企业级应用中发挥着重要作用。MyEclipse则是一款强大的集成开发环境,为这种组合提供了便捷的开发支持。 Struts2是MVC(模型-视图...
Struts2、Spring、Hibernate、JPA、SiteMesh和Log4j是Java Web开发中非常重要的六个组件,它们各自承担着不同的职责,并且在实际项目中经常被整合使用,形成了所谓的"SSH2"(Struts2 + Spring + Hibernate)框架组合...
**Sitemesh2 源码分析** Sitemesh 是一个开源的网页布局和装饰框架,主要用于增强Web应用的外观一致性。Sitemesh2是其第二个主要版本,它提供了更加强大和灵活的功能来帮助开发者统一网站的页面布局。在这个项目中...
Struts2、Spring2.5 和 SiteMesh 是Java Web开发中的三个重要框架,它们共同构建了一个强大且灵活的Web应用程序架构。在这个小DEMO中,我们将深入探讨这三个框架的集成和工作原理。 **Struts2** 是一个基于MVC...
而Struts2 SiteMesh 插件则使得整合 SiteMesh 和 Struts2 框架变得更加方便,让开发者可以充分利用 SiteMesh 的功能来提升用户体验。 首先,我们需要理解 Struts2 是一个基于 Model-View-Controller(MVC)设计模式...
【标题】基于Shiro+Struts2+Hibernate+Spring+Sitemash框架集合的毕业设计管理系统是一种综合运用多种技术实现的企业级应用。这个系统利用这些框架的特性,构建了一个功能完善的管理平台,旨在提升开发效率,优化...
2. **配置Struts2**:在struts.xml中配置Action,设置结果类型,通常使用Spring插件实现Action的实例化,避免单例模式下的线程安全问题。 3. **配置iBatis**:配置SqlMapConfig.xml,定义数据源、事务管理器,编写...
### Struts2整合SiteMesh技巧 #### 概述 在Web开发中,为了实现页面布局的统一性与可维护性,通常会采用一种称为“页面布局管理”的技术。Struts2框架提供了对SiteMesh的支持,这是一种强大的页面布局管理工具。...
`struts2-sitemesh-plugin-2.2.1.1.jar`是Struts2框架与Sitemesh集成的插件,使得Struts2应用能够利用Sitemesh的功能来美化和规范化页面布局。 **Struts2框架** Struts2的核心功能包括动作映射、结果处理、数据绑定...
Struts2和Sitemesh是两个非常流行的Java Web开发框架,它们在构建高效、结构化的MVC(模型-视图-控制器)应用中起到关键作用。Struts2是一个基于MVC设计模式的开源框架,主要用于控制应用程序的流程,而Sitemesh则是...
2. **配置Struts2**:在struts.xml配置文件中,添加SiteMesh插件的配置,使Struts2知道需要使用SiteMesh进行页面装饰: ```xml <constant name="struts.action.excludePattern" value="/decorator.*"/> ...
SiteMesh 是一个开源的Web应用程序布局和装饰框架,主要用于解决Web应用中的页面布局问题。它通过拦截HTTP请求,将页面内容与预定义的布局模板相结合,实现统一的页面头部、底部和侧边栏等元素,从而提高网站的整体...
Struts2、Spring2、Hibernate3、Velocity和Sitemesh是经典的Java Web开发框架组合,它们各自在Web应用的不同层面提供了强大的支持。这个集成框架代码集合了这些技术,旨在提供一个高效、灵活和可扩展的开发环境。 1...
struts2-sitemesh-plugin-2.0.8.jar
Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,涵盖了目前从JSP、JavaBean、Servlet到Hibernate、Struts、Spring、Struts 2的主流开发...
Struts2+Spring+Hibernate+sitemesh做的一个在线音乐站点写的一个在线音乐 的站点.功能实现的相对比较粗糙(如歌曲列表没考虑分页什么的),另外只能使用IE(使用了ActiveX 控件播放音乐的).