如题: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,问题就这么结束吧
刚才按你的写法试了下,还是取不到值。在这里 value="${ErrorMessage}" 就取不到了
我顺便试了下
" var="msg" scope="request"/>
${msg}
也是输出空白没有值,
在页面最上面 导入一下这个
还是取不到值
追答" var="msg" scope="request"/>
你的c:set是这样写的
我的c:set是这样写的
你对比一下
我是先按你的这种写法
取不到值,然后才试的" var="msg" scope="request"/>
这种写法
这个没关系吧,我有按你说的试了下,还是一样的
追答哦,忘了,页面也要改为小写哦(errorMessage)
追问这个跟变量名没有关系,其实这是一个多人共同开发的项目,代码一样,其他人都能正常显示,我原先也能正常显示,后来不知道修改了什么东西,才变成这样的,
在html语言中,value的值是不区分双引和单引的吧
追答temp=" '${RequestScope.ErrorMessage} ' "
追问我不明白你的意思
追答value=" '${RequestScope.ErrorMessage} ' " 放进你的value用下看看或=" ‘’ " 取值时要加' '
追问
${msg1}${msg2}${msg3}${msg4}
输出:page
也就是说,只有page值能输出
这个只是页面与java程序传值,没有用到异常
追答他那个是专门捕获异常的。他取得的值也是取异常里面的值。
追问不是的,EL表达式并不只是用来捕获异常的
jsp怎么用el表达式把值显示出来?
1、需要导入架包和引用核心标签库之后才能用forEach(先去网上下载架包)2、你的List应该是通过从Servlet类里查出来的 先放在session里:request.getSession.setAttribute("list",list)3、引号里的list是设置的后一个list集合的名字,用来在jsp页面中取出list集合进行遍历!4、forEach格式如下:<c:forEac...
获取${}中的值? 比如说var a=${date },无法取出date中的值
EL表达式是这样的${ },但是只能用在jsp代码里面,比如 如果你想在js里面获取这个值的话,不妨先把这个值存到input里面,然后js获取input的值。比如 js: var in = $("#in").val();
JSP中el表达式的取值过程是怎样的?
el表达式和Springmvc没关系,el表达式取值必需是servlet四大作用(servletContext>session>request>pageContext)中有的值,这四个域都有setAttribute("",object)方法和getAttribute("")方法 el表达式 会自动从四大域中按作用范围从小到达寻找搜寻对应名字的值,其内部调用的就是pageContext的findAttribute("")方法;如...
jsp用el表达式遍历集合的时候,我想在一行只显示 两条数据,这个怎么实现...
这个简单啊 <c:forEach items="${book'}" var="b" varStatus="i"> ${b.name } <c:if test="${(i.index+1)%2==0 }"> <\/c:if> <\/c:forEach> 具体的自己改下
jsp怎么用el表达式把值显示出来?
假如你返回的list是result\\x0d\\x0a\\x0d\\x0a${r.属性}\\x0d\\x0a
jsp中EL表达式的问题
默认isELIgnored="false"。但在tomcat下如果使用j2ee5.0,会导致EL语言的失效,这个时候需要在jsp页面上方加上:<%@page isELIgnored="false"%> 或者在web.xml文件中修改最上面的版本为2.4,以及验证的xsd为web-app_2_4.xsd
jsp中el表达式如何获取当前输入框的值?
function changeEvent(str){ form1.text1.value = "你选择的地点是:" + str;} <textarea name="text1" cols="50" rows="2" onselect="javascript:alert('你想复制么');"> <\/textarea> 请选择地点: <!--this是事件源对象的一个引用,即某个option--> 北京 上海 深圳...
jsp EL表达式取值过程,page和pagecontext的区别
1、EL表达式解析过程 JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得?{obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page、request、session、application 也就是说,如果在page.getAttribute()找不到,再去request....
EJB的JSP页面为什么不能用EL表达式 ,
isELIgnored="false" %> 声明可以使用EL表达式,如果sELIgnored为"ture",则表示忽略${,即不能使用EL表达式。参考资料:http:\/\/zhidao.baidu.com\/question\/208481362.html
el表达式获取不到request.setAttibute()的值
request.getParameter("");