Google App Engine 添加 EL(Expression Language)支持

在使用Google App Engine的过程中遇到一个问题,就是JSP中的EL没有被正确的解析。

 

考虑到如下几个原因,GAE Eclipse Plug-in 生成的项目默认是使用Servlet2.5的标准,而2.5版本是默认忽略EL的,所以JSP中使用EL会失效。另一个原因,插件生成的web.xml强制绑定了servlet2.3的DTD,如下所示:

<!DOCTYPE web-app PUBLIC   
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   
 "http://java.sun.com/dtd/web-app_2_3.dtd">  

Servlet2.3版本是不支持EL的。所以上面这个原因才是真正导致EL在JSP中被忽略的原因。
我解决这个问题的办法是将WEB.XML的版本制定为Servlet2.4版本,因为Servlet2.4默认支持EL。操作方式就是去掉上面的DTD,然后加上下面的schema定义:

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值