在使用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">
分享到:
相关推荐
要解决这个问题,开发者应检查JSP文件的语法,确保所有EL表达式(Expression Language)、JSTL标签(JavaServer Pages Standard Tag Library)以及其他脚本元素都正确无误。同时,确保引入了正确的JAR依赖,因为缺少...
JSF 2.0在原有的基础上进行了大量改进,包括但不限于组件模型的增强、更丰富的事件处理机制、更灵活的视图管理以及对EL(Expression Language)和Facelets的支持。 ### 2. 关于作者 #### Ed Burns 作为Sun ...
3. **EL表达式**:扩展了表达语言(Expression Language, EL),支持更强大的表达式语法和函数。 4. **转换器**:增加了更多内置转换器,并且简化了创建自定义转换器的过程。 5. **验证**:改进了验证机制,支持更...
在易买网项目中,JSP文件负责呈现用户界面,通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)与后端数据交互,实现动态内容展示。 3. **Servlet**:虽然JSP是表现层,但实际处理HTTP...
7. **表达式与脚本(Expressions & Scripts)**:Activiti支持使用表达式(如EL,Expression Language)和脚本来动态计算值,控制流程行为。 8. **监听器(Listeners)**:监听器可以在流程的各个阶段执行自定义...