`

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">   
分享到:
评论

相关推荐

    初用Google App Engine for Java (org.apache.jasper.JasperExceptio; org.datanucleun)

    要解决这个问题,开发者应检查JSP文件的语法,确保所有EL表达式(Expression Language)、JSTL标签(JavaServer Pages Standard Tag Library)以及其他脚本元素都正确无误。同时,确保引入了正确的JAR依赖,因为缺少...

    JavaServer Faces 2.0, The Complete Reference PDF原版高清

    JSF 2.0在原有的基础上进行了大量改进,包括但不限于组件模型的增强、更丰富的事件处理机制、更灵活的视图管理以及对EL(Expression Language)和Facelets的支持。 ### 2. 关于作者 #### Ed Burns 作为Sun ...

    JavaServer Faces 2.0, The Complete Reference

    3. **EL表达式**:扩展了表达语言(Expression Language, EL),支持更强大的表达式语法和函数。 4. **转换器**:增加了更多内置转换器,并且简化了创建自定义转换器的过程。 5. **验证**:改进了验证机制,支持更...

    易买网源代码

    在易买网项目中,JSP文件负责呈现用户界面,通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)与后端数据交互,实现动态内容展示。 3. **Servlet**:虽然JSP是表现层,但实际处理HTTP...

    activiti中文手册5.21

    7. **表达式与脚本(Expressions & Scripts)**:Activiti支持使用表达式(如EL,Expression Language)和脚本来动态计算值,控制流程行为。 8. **监听器(Listeners)**:监听器可以在流程的各个阶段执行自定义...

Global site tag (gtag.js) - Google Analytics