Apache Struts 2.2.1 GA版发布
昨日,Apache软件基金会发布了Struts 2.2.1 GA版。Struts 2.2.1包含了重要的安全修复。Apache建议开发者将现有的Struts2应用升级到Struts 2.2.1。
Struts 2.2.1的内部变化主要有:
XWork已经迁移到了Apache软件基金会,现在成为了Struts 2的一部分。新版XWork 2.2.0也随着Struts 2.2.1一同发布。未来,XWork将会迁移到Struts 2中。 XWork Maven artifact现在已位于<groupId>org.apache.struts.xwork</groupId>下。 XWork使用了最新版的OGNL 3.0,OGNL源代码仓库则位于Github上。 Javassist依赖被OGNL排除,要记得将其包含进来,除非在JBoss服务器上加载应用。 解决了XWork一些突出的缺陷,感兴趣的读者可以参考CVE-2010-1870: Struts2/XWork remote command execution来了解详情。 所有的示例应用(除了jboss-blank)都包含了Javassist依赖。 新的jboss-blank示例应用使用了JBoss服务器,它没有将jboss-blank库包含进来,因为JBoss服务器已经提供了。 增加了新的Freemarker缓存选项,这会提升标签的渲染速度,感兴趣的读者可以参考WW-3467并了解关于FreeMarker的更多信息。Struts 2.2.1修复了之前版本的众多bug,主要修复列举如下:
<s:reset type="image">标签上缺少src属性 Struts2 showcase无法在JBoss 5.1上部署 struts-sitemesh-plugin 2.1.8中FreeMarkerPageFilter的失效问题 XWork FileManager不会解码URL ConventionUnknownHandler与rest插件的协作问题 StrutsSpringTestCase的内存泄漏问题 css_xhtml主题无法应用在IE8上,在其他浏览器上也无法正常使用 javassist在JBoss 5.1上的问题Struts 2.2.1的主要改进列举如下:
升级至OGNL 2.7 文件上传:可以对allowedTypes参数设置不同的File Content Type值 完全集成了SiteMesh 2、Freemarker 2.4.2及Velocity 1.3 将xwork核心迁移至Struts 2 将FreeMarker升级至2.3.16 将Velocity引擎升级至1.6.3感兴趣的读者可以从Struts官方网站下载最新版的Struts 2.2.1,也可以阅读InfoQ中文站的《深入浅出Struts 2》迷你书快速上手Struts 2。