idea jsp页面不能用${}取值(EL表达式失效)

一、问题

今天在学习SpringMVC的时候遇到一个小小的问题,记录一下

简单的来说 就是在 jsp 页面里面从域中用 ${ xxx } 取数据

但是页面却无法解析对应的变量,如图所示

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
    <title>success</title>
</head>
<body>
<p>username: ${username}</p>
<p>password: ${password}</p>
</body>
</html>

二、解决方法(表层)

既然已经知道了问题的本质出现在jsp的EL表达式中

于是我们只需在jsp中手动开启解析EL表达式即可

即在jsp页面添加这行代码即可

<%@ page isELIgnored="false" %>

成功解决

三、具体原因

解决问题的我瞎溜达到舍友的电脑前,原本以为他会遇到同样的问题,但惊奇的发现他的jsp默认开启EL表达式(我闻到了一篇CSDN的味道)

不服气的我要来了他的项目仔细的对比的起来

终于 找到了问题所在

原来 我的项目是通过maven模板建立(懒种)

而他则是通过空模板建立web

具体的差别就是 用模板建立的web.xml版本过低 导致他所配置的jsp版本过低(查询的资料为1.2不知道对不对)所以其EL表达式默认是不解析的 即

他的

四、解决方法(深层)

打开Project Structure

删除原本的web.xml

(记得点Apply)

+一个版本高的web.xml

Apply

OK解决

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Idea是一款非常流行的Java集成开发环境(IDE),它支持开发和调试Java程序。在Idea中使用JSP(Java服务器页面)开发Web应用程序时,是支持使用EL表达式的。 EL(Expression Language)表达式是一种在JSP中使用的简单表达式语言,用于动态获取和设置Web应用程序中的数据。EL表达式可以在JSP页面中访问和操作JavaBean、请求参数、Session和Application范围的属性等。 在Idea中使用EL表达式非常简单。首先,确保在JSP页面的顶部引入了EL库: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 然后,您可以在JSP页面的任何位置使用EL表达式进行数据处理。例如,要显示一个JavaBean中的属性值,可以使用以下语法: ${bean.property} 其中,bean是JavaBean对象的名称,property是该对象的属性。通过这种方式,EL表达式可以方便地访问和显示对象的属性值。 此外,EL表达式还支持许多内置函数和运算符,可以对数据进行处理和计算。例如,你可以使用${fn:length(beanList)}来获取一个列表的长度。 总而言之,Idea支持使用EL表达式,可以简化JSP页面中数据的访问和操作。通过EL表达式,开发者可以更加方便地处理和展示数据,提高开发效率。 ### 回答2: JSP(JavaServer Pages)是一种用于创建动态网页的Java技术,而EL(Expression Language)是JSP的一种表达式语言,用于简化在JSP页面中使用和操作数据的过程。在一般情况下,JSP是可以使用EL表达式的。 如果在使用JSP时无法使用EL表达式,可能是由于以下原因导致的: 1. JSP配置问题:在JSP页面中使用EL表达式之前,需要确保正确地配置了JSP标准标签库(JSTL)和EL库。这通常需要在JSP页面的顶部引入相关的标签库声明。 2. jsp文件类型错误:请确认文件后缀名为.jsp。 3. jsp版本问题:如果使用的是较老版本的JSP规范(如JSP 1.2),可能不支持EL表达式。此时可以尝试升级到较新的JSP规范版本,并确保容器(如Tomcat)也支持。 4. 语法错误:EL表达式的语法正确性非常重要。请确保在使用EL表达式时,语法和用法都正确无误。 如果尝试了上述解决方法仍然无法使用EL表达式,可能需要仔细检查JSP配置和代码逻辑,或者查看相关的错误日志信息来进一步排查问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值