EL表达式在Servlet2.5中无法使用
发布日期:2021-09-04 21:35:41 浏览次数:2 分类:技术文章

本文共 1630 字,大约阅读时间需要 5 分钟。

  调试了好久,el表达式死活无法在jsp中使用,自己也觉得奇怪。重新做了一个全新的工程问题依然存在。原来是servlet2.5搞的怪。依赖为:

 
  1. <dependency> 
  2.             <groupId>com.alibaba.external</groupId> 
  3.             <artifactId>java.servlet</artifactId> 
  4.             <version>2.5</version> 
  5.         </dependency> 

解决方案:在跳转到的页面(提交页则不用)添加<%@ page isELIgnored="false" %>

JSP中不能正常EL表达式
例如:入的是${true and true} EL表达 式,在面上示的的果并不是true而是${true and true}
原因是Servlet2.3或更低的版本 中没有定EL表达式,认为禁用EL表达式(JSP1.2也是禁用EL表达式)
解决方法:
JSP面中加入禁用EL表达式<%@ page isELIgnored="false" %>

Servlet2.4EL表达式(JSP2.0启用EL表达式)
如果不知道自己使用的版本是那个可以到web.xml中 去<web-app>
下面2.3版和2.4<web-app>

2.3
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "
">
2.4
<web-app http://java.sun.com/xml/ns/j2ee%22xmlns:xsi=%22http://www.w3.org/2001/XMLSchema-instance">http://java.sun.com/xml/ns/j2ee"xmlns:http://www.w3.org/2001/XMLSchema-instance%22xsi:schemaLocation=%22http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLxsi:schemaLhttp://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee" version="2.4">

【注意】

(1)取值的时候,一定是<%=request.getParameter("usercode") %>,而不是request.getAttribute("usercode")

(2)取得页面提交过来的内容:username:${

param.username }

经过测试,在servlet2.3中只用使用${

username}是可以的,但在2.5中不行;在action中添加如下java代码,通过${protocal }可以取得内容,可以用来传递隐含内容,类似于request.setAttribute("protocal")。

 
  1. private String protocal = "hello, the protocal."
  2. public String getProtocal() { 
  3.     return protocal; 
 
  1. username:<%=request.getParameter("username") %><br> 
  2.     username: ${username}<br> 
  3.     protocal: ${protocal } 

 (3)

本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/678052,如需转载请自行联系原作者

转载地址:https://blog.csdn.net/weixin_34223655/article/details/90076265 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:利用DELPHI开发完成例程(1)
下一篇:如何对磁盘做完整的全盘镜像备份?

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月03日 20时22分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

C++核心准则C.122:需要完全隔离接口和实现时用抽象类作为接口 2019-04-28
C++核心准则C.126:抽象类通常不需要构造函数 2019-04-28
C++核心准则C.127:包含虚函数的类应该有虚析构函数或保护析构函数 2019-04-28
C++核心准则ES.55: 尽量不造成范围检查需求 2019-04-28
C++核心准则ES.60:避免在资源管理函数之外使用new和delete 2019-04-28
C++核心准则ES.61:使用delete[]销毁数组,使用delete销毁对象 2019-04-28
C++核心准则ES.62:不要比较不同数组中的元素地址 2019-04-28
C++核心准则ES.63:不要分割处理对象 2019-04-28
在Ubuntu20.04环境中构建C++20开发环境(GCC11) 2019-04-28
C++20新特性简介-Concepts 2019-04-28
C++核心准则ES.71: 如果可以,使用范围for代替普通的for语句 2019-04-28
C++核心准则ES.72:如果存在明显的循环变量,for语句要好于while语句 2019-04-28
C++核心准则ES.73:如果没有明显的循环变量,while语句要好于for语句 2019-04-28
C++核心准则ES.76:避免使用goto语句 2019-04-28
C++核心准则ES.77:循环中尽量少用break和continue 2019-04-28
C++核心准则ES.78:不要依靠switch语句的隐式下沉处理 2019-04-28
C++核心准则E.13: 直接拥有一个对象所有权时永远不要抛出异常 2019-04-28
C++核心准则E.14:使用根据目的设计的用户定制类型异常(非内置类型) 2019-04-28
C++核心准则E.18:最小限度显式使用try/catch 2019-04-28
C++核心准则E.25:如果不能抛出异常,模仿RAII方式进行资源管理 2019-04-28