当我们使用mybatis从数据库查询数据,Servlet中数据传到JSP页面使用el表达式${}无法显示,这个时候怎么解决呢?我把下面几个可能遇到的问题给详细列了出来。
方法一:在jsp页面顶部添加<%@ page isELIgnored="false"%>
往往会出现这样的问题,直接打印的语句,前提是数据库连接正确,只需要添加上面语句就可以解决
这个方法很常见,原因可能是页面就忽略了 EL 表达式,导致 EL 表达式失效进而无法取到数据。如果是true的话,${2+1}就输出2+1,如果改为false,输出结果就为3
方法二:通过一个超链接访问Servlet并连接数据库查询出结果
当你添加了上面的<%@ page isELIgnored="false"%>语句后,表中数据虽然不再直接打印,但显示空白了,在比如student.jsp里面写好数据和表头的时候,直接通过student.jsp运行,往往会跳出这样的结果
只显示表头,而不显示值了,别急,如果我们连接了数据库,而且写了servlet的,就得通过超链接进去去访问。如下所示
1.在webapp里面创建后缀名为html的文件,如图
2.将servlet里面的该地址,写到后缀名为html
然后将servlet地址前面加上如图所示地址,形成超链接,通过运行该界面,从超链接进入。
方法三:电脑的数据库版本与pom.xml中导入的MySQL依赖不匹配;
如果以上诸如都做完了,仍然显示为空白,那么极可能是数据库连接出现了问题
先查询自己电脑里面的数据库版本(查询语句如图所示
)然后和pom.xml导入的数据库版本比较
2.查询电脑数据库版本,发现与pom.xml导入的数据库版本不一致,就会导致数据库连接不上,el语句输出空白,这个时候,只需要将pom.xml中的mysql依赖版本更换一下就行。
注意:!!!!!
如果是我和一样的版本,记得打开mybatis-config.xml,看看里面记得加上圈出来的cj.然后“dy”的地方是自己的数据库名,记得修改,别把网上复制过来,数据库名没改