小记: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中的设置.

猜你喜欢

转载自blog.csdn.net/weixin_41935702/article/details/88752191
今日推荐