![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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表达式做的没问题,那位高手帮帮忙,怎么解决?
展开
4个回答
展开全部
如果是值在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”)%>”/>
格式:${属性名称}
多看看书,希望可以帮到你
和传统的<%=表达式%>一样,它可以将内容输出到页面中
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中
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单,你刷新的时候,只是重新跳转到这个页面,而要显示里面的内容你需要经过action,你不妨在网页上直接访问你的action,那样应该就可以。因为你所要遍历的表是通过getter方法获取的,而这个方法应该定义在action中。
追问
我打断点调试过,不管是重新查询还是刷新浏览器,都经过了action,而且里面的数据都是查询出来了,完全正确,可是到页面显示就没有了,如果用s:property取值就没问题。关键是我用的el表达式取值,为什么打开浏览器第一次查询能正确显示,以后就不行了?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能.......是你的action运行的时候是需要什么参数的,而正常的打开时是往action里传了参数,而刷新的时候,action无法获取参数,便无法显示了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-04
展开全部
楼主解决了问题吗?我也遇到类似问题,el表达式怎么能取到action中的值呢,又没有放入request,session,application中!为什么有时候能取到,某些情况下又取不到呢!
追问
不知道,查了很多资料,据说使用el表达式取值有潜在的安全问题,struts-2.1.6之后的版本就不再支持用el表达式取值,所以现在我都改用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询