小记:idea在jsp界面如何使用el表达式

之前一直是没搞懂为啥,jsp界面里面就那不到。感觉自己的代码没毛病啊,配置什么的也都没有问题。最后各种排查,终于找到解决的方案。

第一步:
排查在pom.xml文件中关于javax.servlet这一块配置没有

  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
      <version>3.1.0</version>
    </dependency>

其次查看是否modelMap里面存入了我们所需要的值
在这里插入图片描述

最后:实在不行了就是一波大招了
在jsp的界面添加

<%@ page isELIgnored="false"%>

加了以后
在这里插入图片描述

在这里插入图片描述

总结原因

在web.xml的<jsp-property-group>中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:

<%@ page isELIgnored="true|false"%>

如果设定为真,那么JSP中的表达式被当成字符串处理,Web容器默认isELIgnored="false"。
但是
web.xml有些版本不一样,默认是true,所以会导致
EL表达式无法被解析到. 后台的数据成功的传了过来,然而前台JSP页面EL表达式无效,解析不到EL表达式,被当成字符串处理。
最终的幕后黑手:web.xml

<%@page isELIgnored=“false”%>的优先级要高于web.xml中的设置,所以在JSP中的设置会盖掉web.xml中的设置.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值