![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
jsp页面EL表达式取不到值问题;
如题:jsp页面EL表达式取不到值条件:以下五种写法与输出结果1.${1111}输出:11112.${pageContext.request.contextPath}输出...
如题:jsp页面EL表达式取不到值
条件:
以下五种写法与输出结果
1.${1111} 输出:1111
2.${pageContext.request.contextPath} 输出: /test
3.<%=request.getAttribute("ErrorMessage")%> 输出: 密码错误
4.${RequestScope.ErrorMessage} 输出:
5.${ErrorMessage} 输出:
问题:采用上述的最后两种方法无法取到值,显示为空白。
推测:
从上面的条件可以推测得知:1.我的页面支持EL表达式,2.“ErrorMessage”有值,
(请根据以上内容回答我的最终提问)
最终提问:我该怎么做才能让${ErrorMessage} 输出正确的值
受网友hujiang1225的启发,我再列出几个条件
<c:set value="request" var="msg1" scope="request"/>
<c:set value="page" var="msg2" scope="page"/>
<c:set value="session" var="msg3" scope="session"/>
<c:set value="application" var="msg4" scope="application"/>
<td><font color=red>${msg1}${msg2}${msg3}${msg4} </td>
输出:page
也就是说,只有page值能输出
希望大家能从配置环境方面着手,这些代码就我的机子的tomcat无法显示,在服务器上和别人的机子上都能正常显示
最后只好重装tomcat,问题就这么结束吧 展开
条件:
以下五种写法与输出结果
1.${1111} 输出:1111
2.${pageContext.request.contextPath} 输出: /test
3.<%=request.getAttribute("ErrorMessage")%> 输出: 密码错误
4.${RequestScope.ErrorMessage} 输出:
5.${ErrorMessage} 输出:
问题:采用上述的最后两种方法无法取到值,显示为空白。
推测:
从上面的条件可以推测得知:1.我的页面支持EL表达式,2.“ErrorMessage”有值,
(请根据以上内容回答我的最终提问)
最终提问:我该怎么做才能让${ErrorMessage} 输出正确的值
受网友hujiang1225的启发,我再列出几个条件
<c:set value="request" var="msg1" scope="request"/>
<c:set value="page" var="msg2" scope="page"/>
<c:set value="session" var="msg3" scope="session"/>
<c:set value="application" var="msg4" scope="application"/>
<td><font color=red>${msg1}${msg2}${msg3}${msg4} </td>
输出:page
也就是说,只有page值能输出
希望大家能从配置环境方面着手,这些代码就我的机子的tomcat无法显示,在服务器上和别人的机子上都能正常显示
最后只好重装tomcat,问题就这么结束吧 展开
6个回答
2015-12-13 · 做真实的自己 用良心做教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
![](https://wyw-base.cdn.bcebos.com/pc-content/follow.gif)
展开全部
jsp页面中用jstl取值:
如果是在java代码中 ,使用了request.setAttribute("attr","attrValue");
那么在jsp中获取request中的参数值就要使用下面的代码
${requestScope.attr} 或者${attr}
在<c:if></c:if test="....">表达式的test属性 中获取 session或request中的属性时,要使用empty或not empty
<c:if test="${not empty USER_INFO}">
<iframe src="${pageContext.request.contextPath}/myservice/NgCallServiceInfo.do" name="iframe" frameborder="0" width="728" height="276" class=""></iframe>
</c:if>
如果是在java代码中 ,使用了request.setAttribute("attr","attrValue");
那么在jsp中获取request中的参数值就要使用下面的代码
${requestScope.attr} 或者${attr}
在<c:if></c:if test="....">表达式的test属性 中获取 session或request中的属性时,要使用empty或not empty
<c:if test="${not empty USER_INFO}">
<iframe src="${pageContext.request.contextPath}/myservice/NgCallServiceInfo.do" name="iframe" frameborder="0" width="728" height="276" class=""></iframe>
</c:if>
展开全部
第4个 你${requestScope.ErrorMessage} 这样写看看
第5个 是因为 ErrorMessage 是request的值 你${ErrorMessage} 系统会默认在 本也里面找 所以找不到会没值
你的这样写 先用jstl表达式
<c:set value="${ErrorMessage}" var="msg" scope="request"/>
${msg}
这样就有值了
具体的看jstl表达式
第5个 是因为 ErrorMessage 是request的值 你${ErrorMessage} 系统会默认在 本也里面找 所以找不到会没值
你的这样写 先用jstl表达式
<c:set value="${ErrorMessage}" var="msg" scope="request"/>
${msg}
这样就有值了
具体的看jstl表达式
更多追问追答
追问
刚才按你的写法试了下,还是取不到值。在这里 value="${ErrorMessage}" 就取不到了
我顺便试了下
" var="msg" scope="request"/>
${msg}
也是输出空白没有值,
追答
在页面最上面 导入一下这个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在服务器端将ErrorMessage这个变量名改为errorMessage(改为小写开头),页面输出不用改。
更多追问追答
追问
这个没关系吧,我有按你说的试了下,还是一样的
追答
哦,忘了,页面也要改为小写哦(errorMessage)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'${RequestScope.ErrorMessage} '
更多追问追答
追问
在html语言中,value的值是不区分双引和单引的吧
追答
temp=" '${RequestScope.ErrorMessage} ' "
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我很想知道,你抛出异常了没有?
你在Action抛出异常了没有?,那么ErrorMessage肯定会拿到值得的。
你可以查一下RequestScope.ErrorMessage 会捕获的那种异常你抛出来。
你在Action抛出异常了没有?,那么ErrorMessage肯定会拿到值得的。
你可以查一下RequestScope.ErrorMessage 会捕获的那种异常你抛出来。
更多追问追答
追问
这个只是页面与java程序传值,没有用到异常
追答
他那个是专门捕获异常的。他取得的值也是取异常里面的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询