struts2使用el表达式取值的问题

我用struts2做的一个数据查询功能的web应用,struts2版本是2.0.6的,jsp中用s:iterator遍历action中的数据列表对象,用的el表达式取出对... 我用struts2做的一个数据查询功能的web应用,struts2版本是2.0.6的,jsp中用s:iterator遍历action中的数据列表对象,用的el表达式取出对象的属性值,打开浏览器第一次访问,数据能够正确显示,重新查询或者按F5刷新浏览器就不能显示了,又没有报错,每次必须关掉浏览器重新打开才行,浏览器缓存也清除掉了就是不行,不知道什么原因?头都大了!之前做的一个项目也是用的el表达式做的没问题,那位高手帮帮忙,怎么解决? 展开
 我来答
专属sl
2012-05-24
知道答主
回答量:37
采纳率:0%
帮助的人:13.3万
展开全部
如果是值在request中,则可用${requestScope.....}取

和传统的<%=表达式%>一样,它可以将内容输出到页面中

PageContext---pageScope
Request----requestScope
session----sissionScope
Application----applicationScope

也可以作为动作标签的属性值
${requestScope.bean.prop}等价于
<%=request.getAttribute(“bean”).getProp()%>
<jsp:include file=“${includeFile}”/>等价于
<jsp:include file=“<%=pageContext.findAttribute(“includeFile”)%>”/>
格式:${属性名称}

多看看书,希望可以帮到你
追问
我要访问的数据都是action的对象属性,是在值栈里面,不是在request、session、application中
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
359882466
2012-05-24 · 超过14用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:19万
展开全部
很简单,你刷新的时候,只是重新跳转到这个页面,而要显示里面的内容你需要经过action,你不妨在网页上直接访问你的action,那样应该就可以。因为你所要遍历的表是通过getter方法获取的,而这个方法应该定义在action中。
追问
我打断点调试过,不管是重新查询还是刷新浏览器,都经过了action,而且里面的数据都是查询出来了,完全正确,可是到页面显示就没有了,如果用s:property取值就没问题。关键是我用的el表达式取值,为什么打开浏览器第一次查询能正确显示,以后就不行了?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
映保勇
2012-05-28 · 超过26用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:54.4万
展开全部
可能.......是你的action运行的时候是需要什么参数的,而正常的打开时是往action里传了参数,而刷新的时候,action无法获取参数,便无法显示了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-06-04
展开全部
楼主解决了问题吗?我也遇到类似问题,el表达式怎么能取到action中的值呢,又没有放入request,session,application中!为什么有时候能取到,某些情况下又取不到呢!
追问
不知道,查了很多资料,据说使用el表达式取值有潜在的安全问题,struts-2.1.6之后的版本就不再支持用el表达式取值,所以现在我都改用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式