首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Weblogic 10上JSP el与ognl的有关问题与解决办法

2012-11-23 
Weblogic 10下JSP el与ognl的问题与解决方法在使用Webwork或Struts2标签写JSP时,经常会用到如下写法:这是o

Weblogic 10下JSP el与ognl的问题与解决方法

在使用Webwork或Struts2标签写JSP时,经常会用到如下写法:

这是ognl的写法,list里的表达式将解释成成一个Map,实际上是一个LinkedHashMap。

这种写法在Tomat下部署是没有任何问题的,但部署到Weblogic 10下问题就来了,这里web.xml的version声明为2.4,编译JSP时报表达式错误。如果声明为2.3是不会报错的,因为servlet 2.3(即jsp 1.2)是不支持EL的,使用Weblogic 9同样也不会报错。据此可以推测原因为编译JSP时Weblogic? JSP编译器将OGNL的表达式误认为是EL表达式。

解决办法:

1、禁用EL。在web.xml上加上

<jsp-config>    <jsp-property-group>       <url-pattern>*.jsp</url-pattern>       <el-ignored>true</el-ignored>     </jsp-property-group> </jsp-config>

2、更改web.xml的version为2.3。

3、因为大量页面用到EL,如${someValue},所以1和2基本行不通的,所以从OGNL的表达式入手,最终写成list='#@java.util.LinkedHashMap@{"1":"Male","2":"FeMale"}'?, 显式指定使用LinkedHashMap来构建Map。问题解决。

热点排行