el表达式不输出
程序员文章站
2022-04-08 09:25:37
...
今天在项目上遇到了一个很恶心的问题 :平时用的好好的jstl配合着el表达式居然不奏效了!具体代码为:
<c:if test=" ${title.isStu == true}">
<c:out value="学生"></c:out>
</c:if>
<c:if test=" ${title.isStu == false}">
<c:out value="教师"></c:out>
</c:if>
让我奇怪的地方就是居然无法做判断然后输出,为了证明我后台的isStu确实有布尔值,我把 title.isStu 放在外边单独测试,结果不出意外,可以显示true/false.
那么究竟是怎么回事呢?然后我就干脆复制之前可以正常运行的jstl来,然后改了下变量,然后运行,,,,果然可以运行了。。
然后我就在思索这怎么回事,明明一模一样的代码刚刚运行不了呢?然后一个字母一个字母看,终于被我发现了点端倪:我原来写的表达式双引号之间有空格!!
" ${title.isStu == true}">
应该要这样:
"${title.isStu == true}">
总结:jstl对于引号及其敏感,一定要在=贴着双引号写表达式!
推荐阅读