提供部分代码
<c:when test="$ {sessionScope.user=null }">
<a href="$ {pageContext.request.contextPath}/Login.jsp">用户登录</a>
</c:when>
<c:otherwise>
欢迎你,$ {sessionScope.user.name } !
<a href="$ {pageContext.request.contextPath } ">注销</a>
</c:otherwise>
想通过${}来获取相应的数据,但是程序运行的时候并没有获取到数据。
具体出现的错误:1、$ {pageContext.request.contextPath}/Login.jsp,经过解析以后变成了$%20%7BpageContext.request.contextPath%20%7D/Login.jsp 2、$ {sessionScope.user.name }此处应该显示的是我登录的用户名,但是我访问到的网页上显示的内容就是$ {sessionScope.user.name }。
仔细查看了代码,发现逻辑上没有问题,综合上述情况我觉得可能是${}在这里没有起到作用。
同时我也在网上发现了很多人跟我有一样的情况,大致分为两类:一、web-app的版本在2.4以下。二、在jsp顶部配置信息中缺少了isELIgnored="false"。
我看了自己的开发环境是tomcat8.0,jdk1.8,查看了wed-app的版本是3.0,所以基本排除第一种情况。
第二种情况,我也在自己的顶部配置信息中加入了isELIgnored="false",但是运行以后依旧没有如上面出现的错误一样,没有访问到目标地址。