情况是这样的,form1.jsp向aciton提交了一个表单,里面有一个参数是currentPage,值为10,在action中的同名属性currentPage就获得了这个值,值为10,现在我在action的execute()方法中把这个属性currentPage的值改为5,然后在form2.jsp中用<s:hidden name="currentPage" value="%{currentPage}"/> 或者${currentPage} 或者 <s:property value="currentPage" /> 取得currentPage的值。然而取得的值都是10,而不是5。我看了Struts2中OGNL的上下文环境,是这么说的“因为action在ValueStack的顶部,所以默认情况下,Struts2的Tag中的OGNL表达式将查找action中的变量”,但是我怎么取都取得的是request中的值,而不是action中的值,这是怎么回事?请教各位高手!
解决方案 »
- 下拉技术实现
- 哪种IDE更好?
- 一个<jsp:param name="user" value="<%=name%>"/>参数传递的菜鸟问题
- 在jsp中,怎样用java语言实现读取指定文件夹中的文件数目和文件?
- 关于Properties 读写
- 百分求解如何把一个中文名的文件传到服务器上!
- Javamail怎么接收邮件呀?我搞了好久,无能为力了.........大家帮帮我!
- 菜鸟请问JSP网页显示的小问题~
- 看过struts自带例子struts-example的进来看看?
- 为什么我的JSP在调用JAVABEAN时提示无法找到USEBEAN对应的类?
- 在timertask中读取静态变量
- 分页的超链接怎么成赋值跳转了???servlet高手进。。。
在execute()方法中改变值的时候
转到成功页面取值的话肯定是改变后的
当然稍微注意作用域的问题
set get方法当然都有,我看应该是value stack的问题,我看struts2资料上写着action是处在value stack的最顶层,ognl取值的话应该是首先在action里取值,request应该是在action的下层,如果要想从request中取值的话,就得明确的指定了。但是现在的问题是,我用ognl对action的值进行获取,取得的却是requset里的值。而不是资料上说的action的值,这是我疑惑的地方。难道还有什么方法能把requset提到value stack的顶层,而把action在value statck中的层次降低?