1、如果页面不认识${},可能是因为没有正确地声明JSP页面的标签库(JSTL)。${}是JSP中的一个EL表达式,用于在JSP页面中访问JavaBean或Servlet中的属性值或方法。要在JSP页面中使用${}表达式,必须在JSP页面的开头添加类似下面的标签库声明:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
这个标签库声明告诉JSP页面可以使用JSTL标签库中的标签和函数,其中包括${}表达式所需要的功能。
注意:如果你使用的是Maven或Gradle等构建工具,可以在项目的依赖中加入JSTL库的依赖。例如,在Maven中,你可以在项目的pom.xml文件中添加类似下面的依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
这个依赖项会自动下载并导入JSTL库文件,使得你的项目能够正确地使用JSTL标签库。注意,JSTL库的版本号可能有所不同,你需要根据实际情况选择合适的版本号。
如果上面都加了,也有存在这个问题
2.也有可能是EL表达式没有被应该被解析和计算。
就需要加上下面这句
<%@ page isELIgnored="false" %>
当 isELIgnored 属性设置为 "false" 时,JSP引擎将会解析和计算EL表达式。这意味着您可以在JSP页面中使用EL表达式来访问和操作JavaBean对象的属性、方法或其他变量。
相反,当 isELIgnored 属性设置为 "true" 时,JSP引擎将忽略EL表达式,并将它们视为文本。这意味着您无法在JSP页面中使用EL表达式来访问和操作JavaBean对象的属性、方法或其他变量。
因此,如果您需要在JSP页面中使用EL表达式,则应将 isELIgnored 属性设置为 "false"。