乱码解决方案
使用Tomcat7.05+Eclipse3.6,集成Struts2和Groovy,Groovy类作为Struts的Action,JSP页面采用UTF-8编码,但页面输出中偶尔会出现中文乱码,注意,并不是总是,有时重新部署一下或者修改一下groovy文件甚至多刷新几次页面,乱码就会消失,但不是总能成功。
下载Groovy源码,修改groovy.uti.GroovyScriptEngine类(src\main\groovy\util.GroovyScriptEngine.java),将本人使用的Groovy版本是groovy-1.7.6。将第459行代码注掉:
//clazz = groovyLoader.parseClass(DefaultGroovyMethods.getText(conn.getInputStream(), encoding), path);
在其下面添加如下代码:
clazz = groovyLoader.parseClass(DefaultGroovyMethods.getText(conn.getInputStream()), conn.getURL().getPath());
重新编译Groovy项目:(本人使用Maven)
打开Cmd窗口,Cd 到groovy-1.7.6目录下,输入一下:
mvn package
原理很简单,就是把encoding参数去掉,因为getText方法默认使用系统本地编码。
参考:http://philix.iteye.com/blog/704046
<s:debug>标签和Groovy Action不兼容
在JSP页面中使用<s:deblug>标签调试时,会出现Groovy写的Action类没有metaClass属性的异常:
ognl.NoSuchPropertyException: org.rsljdkt.struts2.struts2groovy.action.BookAction.metaClass
出现的具体原因我也未深究,直接在Groovy Action类中添加一个getMetaClass()方法:
def groovy.lang.MetaClass getMetaClass(){
this.metaClass
}
分享到:
相关推荐
这个整合的jar包为开发者提供了一站式解决方案,免去了单独下载和配置每个框架的麻烦。但是,随着技术的发展,Spring Boot和Spring Data JPA等新工具的出现,使得这样的传统整合方式逐渐减少,但理解这种整合方式...
这个整合为开发者提供了强大的MVC(Model-View-Controller)架构支持,以及持久层和业务逻辑层的解决方案。 **Struts2** 是一个基于MVC设计模式的Web应用框架,它主要负责处理用户请求,通过Action来执行业务逻辑,...
此外,社区支持和更新可能会变得有限,因此在新项目中,建议考虑采用更现代的解决方案。 总之,Struts Scripting 1.0.1是一个早期的尝试,它在当时为Struts框架带来了脚本语言的灵活性,但随着技术的演进,现在已经...
SSH框架是Java开发中常用的三大框架,分别是Struts2、Spring和Hibernate,它们协同工作,构建出高效、灵活的企业级应用程序。在这个名为"mySSH"的Gradle项目源码中,我们可以深入理解这三个框架的集成与应用。 ...
Spring框架是一个全面的后端开发解决方案,它提供了依赖注入(DI)和面向切面编程(AOP)的核心特性。Spring3.0版本引入了许多增强功能,包括对Java EE 6的支持、Groovy脚本支持、改进的AOP以及用于数据访问的更强大的...
Struts2 与 Groovy 结合,可以利用 Groovy 的灵活性来编写更加简洁、易读的控制器代码,同时保持与 Java 代码的无缝集成。 Spring 框架则是一个全面的后端开发解决方案,涵盖了依赖注入(DI)、面向切面编程(AOP)...
Spring框架则是一个全面的后端解决方案,它涵盖了依赖注入(DI)、面向切面编程(AOP)、数据访问、事务管理等多个方面。Spring3.1版本引入了Spring Expression Language (SpEL)、@Profile注解以及对Groovy的支持,...
以上就是J2EE解决方案中涉及的一些关键框架和概念。在实际项目中,开发者通常会根据需求选择合适的组合,以构建高效、可维护的企业级应用。理解并熟练运用这些框架,是成为一名优秀的J2EE开发者的重要步骤。
### 最新JasperReport 3.7 iReport的Java Web报表整合Struts2完整教程 #### 一、iReport操作 ...此外,还讨论了常见的异常及其解决方法,帮助开发者在实际开发过程中排除障碍,顺利完成报表功能的集成。
Java技术分析报告主要探讨了Java技术的未来发展趋势和...开发者需要关注新技术和框架的发展,以便选择最适合项目需求的解决方案。同时,掌握这些框架的基本原理和最佳实践,将有助于提升个人在Java开发领域的专业素养。
该项目的核心是SSM框架,这是一种广泛使用的Java企业级开发解决方案,由Spring框架提供依赖注入和事务管理,Struts2负责控制层逻辑,而MyBatis则专注于数据访问层。通过这个演示,开发者可以了解到如何将这些技术...
加载这些库到工程的方式因开发环境而异,以下是一些常见方法: - **IDE集成**:如果你使用Eclipse、IntelliJ IDEA等集成开发环境,可以通过"构建路径"或"Maven/Gradle依赖"设置将这些JAR文件添加到项目的类路径中。...
6. **问题排查与解决方案**:列出常见问题及其解决办法,帮助用户解决在使用过程中遇到的困扰。 对于想要学习或深入了解IntelliJ IDEA的用户,这份文档将是非常有价值的参考资料,它可以帮助用户快速上手并充分利用...
综合以上,这些jar包展示了JasperReports如何与其他Java库和框架协作,提供全面的报表解决方案。开发者可以利用这些库来设计复杂的报表模板,处理各种数据源,并将报表集成到SSH等企业级应用中。同时,通过Groovy和...
JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...
11. **UseModj**:集成Struts框架和Velocity模板,提供了多语言支持和RSS功能,以及文件和图片的上传与管理。 12. **Platypus Wiki**:这是一个语义化的Wiki系统,使用W3C标准元数据进行页面组织和管理,支持RDF、...
2. **Spring框架**:Spring是最流行的Java开发框架之一,它提供了全面的企业级应用开发解决方案,包括依赖注入、面向切面编程、事务管理、数据访问和Web开发等。Spring Boot则进一步简化了Spring的应用启动和配置,...
在2012年,有许多新的Java Web应用工具被引入,如Spring MVC、Struts 2等,这些工具与传统的Java Web开发工具相比,提供了更多的功能性和灵活性。通过对这些新旧工具进行比较,开发者可以更好地理解它们各自的优点和...
2. **解决方案**: - **手动添加JAR**:首先,你需要下载Apache Commons DBCP的JAR文件,可以从官方网站或者通过Maven仓库获取。然后将其添加到你的项目目录的`lib`文件夹,并确保在运行时系统能够找到这个JAR文件...