Jsp中EL表达式不起作用
困扰了很久的JSP中的表达式被当成字符串处理,原因是出于版本不同,有些isELIgnored属性默认值为false,但有些默认为true;
所以这里要手动配置isELIgnored的属性为false
1 2 | <%@ page contentType= "text/html;charset=UTF-8" language= "java" %> <%@ page contentType= "text/html;charset=UTF-8" language= "java" isELIgnored= "false" %> |
下面是isELIgnored的作用:
JSP的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。
在JSP中,建议尽量使用EL而使JSP的格式更一致。 在web.xml的<jsp-property-group>中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。
在page directive中的isELIgnored属性用来指定是否忽略。格式为: <%@ page isELIgnored="true|false"%> 如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式${1000 % 10}, 在isELIgnored="true"时输出为${1000 % 10},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人