struts2 与jsp 的 参数调用问题

问题描述

在struts2 的action 里 有这样的问题 方法aaa和方法bbbpublic class abc {public String aaa()throws Exception{参数 xreturn SUCCESS;}public String bbb()throws Exception{return SUCCESS;}}运行方法aaa,得到参数 x想把参数 x 在方法 bbb里调用希望 高手们指点。55555555555555 问题补充:谢谢 xuxiaolei 的回答卧室把x 用 各get set 方法可是在方法bbb调用、 是null您能不能具体说一下谢谢 问题补充:谢谢 xuxiaolei 那么快给我答复.太感谢了其实我就是按照你说的那么做的public class abc { public String aaa()throws Exception{ x = "hello"; return SUCCESS; } public String bbb()throws Exception{ //先用其他方法调用下aaa(),然后x值已经被设置了,bbb()方法就可以使用x了 //一个方法 tt= ccc(x); //但是我打印 x的植 是 null System.out.println(x); return SUCCESS; } private String x; //加上 x 的getter setter 方法} 非常感谢你问题补充:谢谢 xuxiaolei 我好象有点明白你的意思了.我在仔细想想问题补充:谢谢 xuxiaolei 我把代码贴出来。麻烦你看一下。谢谢public class SearchAction extends ActionSupport {private static final long serialVersionUID = -1941901703467836026L;private GoodsManager goodsManager; //service 层private Long minPrice;private Long maxPrice;private String[] category;private Goods goods;private PaginationSupport ps;private List<Goods> pageGoods;private int pageSize = 7;private int startIndex;private int nextIndex;private int previousIndex;    //这个方法运行后, 得到detachedCriteria 的值public String allList() throws Exception { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Goods.class);if (null != getCategory()) {detachedCriteria.add(Restrictions.in(("category"), getCategory())).add(Restrictions.between(("price"), getMinPrice(),getMaxPrice())).addOrder(Order.asc("price"));} else {detachedCriteria.add(Restrictions.between(("price"), getMinPrice(),getMaxPrice())).addOrder(Order.asc("price"));}ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize,startIndex);previousIndex = ps.getPreviousIndex();nextIndex = ps.getNextIndex();totalCount = ps.getTotalCount();return SUCCESS;}//这个方法是想把上个方法里的detachedCriteria值 ,传到这个方法里的detachedCriteria参数里。public String pageList() throws Exception{DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Goods.class);ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize,startIndex);previousIndex = ps.getPreviousIndex();nextIndex = ps.getNextIndex();return SUCCESS;}// getters setters 方法 省略了问题补充:xuxiaolei 谢谢您的回答。是我刚开始表达不清楚。我struts2的;理解还不 太好。感觉第2个请求发出后,第一个请求的变量值都没有乐。郁闷。其实我是在做分页。在allList中,就是把jsp页面的查询条件放入 detachedCriteria 里在pageList中, 是分页。但是,没有查询条。所以想巴detachedCriteria 的值调过来。我按照你的提示在想一想。还是要很感谢您。在百忙之中。为小弟解答问题。问题补充:xuxiaolei 谢谢您我看看按照您的提示我在好好想一想

解决方案

public class DividePage extends ActionSupport {public String execute() throws Exception {//通过requestPageNum计算出来确定要从数据库中取那些数据//然后把结果放在result中,在forward到的另一个页面就可以直接使用了return SUCCESS;}private int requestPageNum;private List result;}另外,我的blog有个分页的逻辑,你可以参考看下http://xuxiaolei.iteye.com/blog/165058
解决方案二:
不好意思,我理解错你的意思了,struts2中的action是线程安全的,每一次请求都可以看成是不同的action实例,所以,如果你想在两个请求中(比如说,第一次请求你的url是SearchAction!allList.action,第二次请求的是SearchAction!pageList.action)这两个请求中是无法在类间共享变量的,即使变量是类的属性也不行,因为可以看成两个请求就是两个不同的action实例,如果你要那样做的话,就只有用allList去调用pageList,pageList函数需要加个参数,就是你需要传递的参数。希望以前的回答没有误导你,我说的有不对的地方欢迎指正。
解决方案三:
完整代码贴出来看看
解决方案四:
public class abc { public String aaa()throws Exception{ x = "hello";return SUCCESS; } public String bbb()throws Exception{ //先用其他方法调用下aaa(),然后x值已经被设置了,bbb()方法就可以使用x了return SUCCESS; }private String x; }
解决方案五:
把参数x设置成类abc的属性,aaa方法里面设置x的值,bbb方法就可以使用x的值了,不知道问的是不是这个意思

时间: 2024-10-30 15:13:52

struts2 与jsp 的 参数调用问题的相关文章

struts2中jsp页面参数不能传递给action

问题描述 struts2中jsp页面参数不能传递给action struts.xml:<?xml version=""1.0"" encoding=""UTF-8""?><!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.or

如何在一个JSP页面中调用另一个JSP页面中的变量

在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象-request对象获取参数: (1)通过超链接传参: 例:把a.jsp中i的值传到b.jsp中: 在a.jsp页面中的核心代码为: <a href="b.jsp?i=1">传参</a>     (说明:给i赋值时也可以用jsp表达式,例如i=<%变量名 %>) 在b.jsp页面中的核心

Struts2中Action接收参数的方法

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    

jsp接收参数 转码-jsp页面接收的中文被转码为&amp;amp;amp;#xxxxx等信息

问题描述 jsp页面接收的中文被转码为&#xxxxx等信息 用的是strtus2,在后台拼接了一段html代码使用参数传到前台,拼接的部分代码为: 安全巡检安全加固 在前台接收的参数为:<tr><td width='50%' ><input type='checkbox' id='ab1'name='ability' value='1' />安全巡检</td><td width='50%' ><input type='checkbo

关于C++函数参数调用的问题

问题描述 关于C++函数参数调用的问题 最近几天都在学习数据结构呀~学习的过程中发现一个小小的问题,虽然放置不管也没有什么关系--但是如果以后因为这些问题酿了大祸就不好了!所以借着这种未雨绸缪(伪)的精神,决定把问题po出来. 此前在下是查过书,查过百度谷歌的,但是找不到很满意的解答(大概是因为这个问题太具体了--),所以把琐碎问题在此提出来.能够回答这细枝末节的高手们,在下十分感激! 问题如下: 如上图所示,我构建了一个结构体叫BiTNode,用来构建二叉树的节点的.接下来我也是在main函数

js组件 jsp问题-jsp通过js调用另一个jsp

问题描述 jsp通过js调用另一个jsp 一个jsp调用通过js调用另一个jsp界面 界面出来了 但是内容无法显示 永远是一个Loading... 解决方案 你怎么调用的,那个页面又是怎么实现的.如果代码不是你写的,谁写的问谁.你完全一窍不通. 解决方案二: 永远是一个Loading... 如果页面确实已经调用成功,而一直显示Loading...,说明你新打开的页面有问题,而不是你的js有问题. 解决方案三: 在JS中调用JSP中的变量一个jsp引入另一个jspjsp button事件调用js

javascript向jsp传递参数的一种手段:使用xmlhttp对象

javascript|js|xml|对象 xmlhttp对象可以用来在不刷新页面的情况下传递参数,可作为一种javascript向jsp传递参数的一种方法. 下面就是一个javascript向jsp传递参数的例子: xmlhttp.jsp <%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*" import="jav

ado.net-求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写

问题描述 求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写 访问数据不知道写 存储过程已经写好 解决方案 prepareCall()方法调用存储过程 解决方案二: use 数据库名称 这不是方法 解决方案三: use 数据库名称 用这个语句就能指向数据库 解决方案四: exec 存储过程名称

jsp如何实现调用servlet后页面不跳转

问题描述 jsp如何实现调用servlet后页面不跳转 想实现这样的功能:在页面点击按键后,servlet向邮箱发个验证码邮件,页面停留在当前页面,之前填写的信息保持不变.大概是异步通信的问题?不知道怎么实现...求解..(现在邮箱验证什么的都没问题,只是调用servlet后页面会跳转,但我希望能就停在当前页面,等输入验证码之后再按键,跳转到其他页面) 解决方案 可以采用AjaX实现 解决方案二: 相关请搜索jquery ajax 解决方案三: 为什么会跳转呢?你的request中是不是重定向了