jsp被包含页面用El表达式取不出参数
主页面代码如下main.jsp<html><head></head><body><jsp:includeflush="true"page="../inc/temp.jsp...
主页面代码如下
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}无反应 展开
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}无反应 展开
5个回答
2016-02-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
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"。
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"。
展开全部
其实你遇到这样的问题, 你先要看一看服务器的返回来的html代码?
然后 找到 那两个img标签看里面生成的 src 。 如果能看到 ${param.url} 则表示EL表达示没有被服务器编译,则你可以在页面temp.jsp下 加入一句:
<%@page isELIgnored="flase"%> 意思为:不要忽略EL表达示。
然后 找到 那两个img标签看里面生成的 src 。 如果能看到 ${param.url} 则表示EL表达示没有被服务器编译,则你可以在页面temp.jsp下 加入一句:
<%@page isELIgnored="flase"%> 意思为:不要忽略EL表达示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
temp页面开头加上这句<%@page isELIgnored="flase"%>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用${url}试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
${url} 你那个可以取得request.setAttribute()中的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询