jsp被包含页面用El表达式取不出参数

主页面代码如下
main.jsp
<html>
<head>
</head>

<body>
<jsp:include flush="true" page="../inc/temp.jsp">
<jsp:param value="./" name="url"/>
</jsp:include>
</body>
</html>

被包含页面temp.jsp如下:
<%@ page contentType="text/html;charset=gbk"%>
<html>
<head>
</head>
<body>
<img alt="firstIMG" src="${param.url}images/banner_ico05.gif">
<img alt="secondIMG" src="${param.url}images/banner_ico06.gif">
</body>
</html>

index.jsp代码如下:
<jsp:forward page="/jsp/main.jsp"/>

问题:
在temp页面中用${param.url}无法取到主页面中传过来的参数,用request.getparameter(“url”)可以取到,请问为什么?纠结我好几天了,没搞明白,望指点,谢谢!
直接${url}无反应

  jsp中被包含页面或者父页面增加<%@page isELIgnored="flase"%>才可以使用。

  JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。
  在web.xml的<jsp-property-group>中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:
  <%@ page isELIgnored="true|false"%>
  如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式<p>${2000 % 20}</p>在isELIgnored="true"时输出为${2000 % 20},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-04
其实你遇到这样的问题, 你先要看一看服务器的返回来的html代码?
然后 找到 那两个img标签看里面生成的 src 。 如果能看到 ${param.url} 则表示EL表达示没有被服务器编译,则你可以在页面temp.jsp下 加入一句:
<%@page isELIgnored="flase"%> 意思为:不要忽略EL表达示。
第2个回答  2009-12-04
temp页面开头加上这句<%@page isELIgnored="flase"%>本回答被提问者采纳
第3个回答  2009-12-04
直接用${url}试一下
第4个回答  2009-12-14
${url} 你那个可以取得request.setAttribute()中的内容

EJB的JSP页面为什么不能用EL表达式 ,
<%@ page contentType="text\/html; charset=GBK" isELIgnored="false" %> 声明可以使用EL表达式,如果sELIgnored为"ture",则表示忽略${,即不能使用EL表达式。参考资料:http:\/\/zhidao.baidu.com\/question\/208481362.html

jsp怎么用el表达式把值显示出来?
1、需要导入架包和引用核心标签库之后才能用forEach(先去网上下载架包)2、你的List应该是通过从Servlet类里查出来的 先放在session里:request.getSession.setAttribute("list",list)3、引号里的list是设置的后一个list集合的名字,用来在jsp页面中取出list集合进行遍历!4、forEach格式如下:<c:forEac...

JSP中el表达式的取值过程是怎样的?
el表达式和Springmvc没关系,el表达式取值必需是servlet四大作用(servletContext>session>request>pageContext)中有的值,这四个域都有setAttribute("",object)方法和getAttribute("")方法 el表达式 会自动从四大域中按作用范围从小到达寻找搜寻对应名字的值,其内部调用的就是pageContext的findAttribute("")方法;如...

jsp中EL表达式的问题
默认isELIgnored="false"。但在tomcat下如果使用j2ee5.0,会导致EL语言的失效,这个时候需要在jsp页面上方加上:<%@page isELIgnored="false"%> 或者在web.xml文件中修改最上面的版本为2.4,以及验证的xsd为web-app_2_4.xsd

jsp 表单回填 使用el表达式 是怎么运用param的 过程详细说下 谢谢_百 ...
你的内置对象你存有param, 比如存到了reques 或者session中了,那么页面内直接就可以用el方式来取了。{对象名.属性名}

编写jsp老是有异常org.apache.jasper.JasperException: jav...
应该是你的页面当中有el表达式,在你将数据存到session中,从页面中取出来的数据格式与存入到session中的数据格式不一致。当然,没有看到你写的代码,也不知道是不是的,但是,这种可能性还是蛮大的

jsp EL表达式取值过程,page和pagecontext的区别
1、EL表达式解析过程 JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得?{obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page、request、session、application 也就是说,如果在page.getAttribute()找不到,再去request....

JSP页面里面获得了 文本框和下拉列表怎么样让他们的值显示在一个层里 ...
如果是同一个页面的话就要用脚本语言了;不是同一页面就釆用JSP表达式或EL表达式都可以 1.同一页面:… function settext(obj){ document.getElementById("divtext").innerText=obj.value;} \/\/文本框就不说了…2.不同页面:先把得到的值保存进作用域里面如request\/session…再通过作用域去拿;{reque...

关于jsp页面上,el表达式相等的问题
你好,JSTL就是这么用啊,我也是百思不得其解,我把你代码复制过去就不出来,最后我自己把那段代码敲了一遍,出来了.终于明白你的代码错在哪儿了!<c:if test="${sessionScope.loginPlayer.username == comment.username} "> ^ 你注意上面这句话,倒数第三个字符,是一个中文空格!把这个删除掉...

JSP页面el表达式判断一个元素是否在set集合中
<c:set var="flag" value="false"><\/c:set> <c:forEach items="${list}" var="obj"> <c:if test="${obj.id==你要查的obj .id}"> <c:set var="flag" value="true"><\/c:set> <\/c:if> <\/c:forEach> <c:if test="${flag==true}">存在<\/c:if> ...

相似回答