当前位置: 代码迷 >> Web前端 >> Struts2.0.11在Tomcat5.5, Jetty 以及 Weblogic10等运作的不同
  详细解决方案

Struts2.0.11在Tomcat5.5, Jetty 以及 Weblogic10等运作的不同

热度:1017   发布时间:2012-11-10 10:48:51.0
Struts2.0.11在Tomcat5.5, Jetty 以及 Weblogic10等运行的不同

终于有时间玩玩最新版本的Struts2.0.11了, 与上一个版本差别不大,但有一点是我最关心的:Struts2.0.11以后不再支持EL表达式了。详情请见:http://www.iteye.com/news/193

但是我在运行Struts2.0.11的时候,发现运行结果与容器有关。

比如说:Tomcat, Jboss(Jboss的内置Servlet容器就是Tomcat)运行程序的时候,就无法正常解析EL了。

但Weblogic10却能正常解析EL表达式。?

?

以下是本人测试的几个服务器,在Struts2.0.11环境下:

tomcat, jetty, jboss 都无法使用EL

?

weblogic10 与 glassfish2?可以正常使用EL

?

?

这真是挺郁闷的, 一直非常想不通Apache为什么会把Struts2搞的这么变态,EL表达式真的可以简化很多工作,比如: ${name} 感觉比 <s:property value="name" /> 要强很多倍, OGNL比JSTL强大很多,我承认,而且用了OGNL后,再也没用过JSTL了,但真有必要连EL也给干掉吗? 失望ing.............

1 楼 Caixiaopig 2008-01-07  
这个变化如果对于已有的在struts2标签体中使用了JSTL的程序会造成影响。但是改变的话,还是能适应的,struts2的Cookbook上面有教大家怎样在jsp tag和struts2的tag之间传递数据,就是麻烦一点。但是总比因为jstl引起安全隐患来的好
2 楼 hantsy 2008-01-07  
Caixiaopig 写道
这个变化如果对于已有的在struts2标签体中使用了JSTL的程序会造成影响。但是改变的话,还是能适应的,struts2的Cookbook上面有教大家怎样在jsp tag和struts2的tag之间传递数据,就是麻烦一点。但是总比因为jstl引起安全隐患来的好

jstl引起的安全隐患?太武断了吧,。。其实那是jstl 与ognl混用的结果。
jstl的EL应该吸收其它el的优点(如ognl,mvel等)。
ognl虽然功能比标准的el强大,但效能低下是事实。
Tapestry作者的blog中有这方面的性能测试比较,所以tapestry后续版本决定废掉ognl。

3 楼 Caixiaopig 2008-01-07  
hantsy 写道
Caixiaopig 写道
这个变化如果对于已有的在struts2标签体中使用了JSTL的程序会造成影响。但是改变的话,还是能适应的,struts2的Cookbook上面有教大家怎样在jsp tag和struts2的tag之间传递数据,就是麻烦一点。但是总比因为jstl引起安全隐患来的好
jstl引起的安全隐患?太武断了吧,。。其实那是jstl 与ognl混用的结果。 jstl的EL应该吸收其它el的优点(如ognl,mvel等)。 ognl虽然功能比标准的el强大,但效能低下是事实。 Tapestry作者的blog中有这方面的性能测试比较,所以tapestry后续版本决定废掉ognl。
sorry,不知道是我没有说清楚还是兄台理解错误,“因为jstl引起安全隐患”意思就是struts2标签可以使用ognl,但是也能够用jstl的话会引起安全隐患。是因为jstl使用在struts2标签中才会引起的,而并不是单纯用jstl会引起。
4 楼 cats_tiger 2008-01-07  
原来是struts2的问题,可是为什么我在BEA WorkShop3.3(Eclips3.2)下开发就正常,用Eclipse3.3就出错呢?现在有些后悔用struts2了,比起JSF、SpringMVC,它并没有什么特别的优势。在架构选型的时候,最难以取舍的就是MVC框架了,各有各的优点和不足。
真不如自己做一个符合自己要求的。
5 楼 yyjn12 2008-01-07  
OGNL 这个东西,让人很讨厌
  相关解决方案