读书人

SSH2 服务器的保留值不清空的有关问

发布时间: 2013-10-31 12:03:52 作者: rapoo

SSH2 服务器的保留值,不清空的问题
以前都在用SSH,近期有项目用了SSH2,搭建好了,程序能跑了,不过发现了一个问题,真有点搞不懂了,请教一下。

也许看标题不是很清楚是什么问题,还是举例说明吧:
在MODEL,ACTION,BO中,定义了类



class XModel {
private long id;
private String name;
//以下的get 、set的函数就不写了
//......
}

class XAction extends ActionSupport{

XBo xbo;
XModel xmodel;

public String list(){

List<XModel> l =xbo.getList(xmodel);
//打印成为JSON......
return null;

}
//以下的get 、set的函数就不写了
//......

}

class Bo{
//.....
public List<XModel> list(xmodel){

String hql="...... ";
/// 查询时,以model.id,xmodel.name作为条件
List<XModel> l;
if(!nullToSpace(xmodel.name).equal("")){
hql +=" where name=? ";
l=this.xdao.find(hql,new Object[]{xmodel.name});
}else
l=this.xdao.find(hql);

return l;
}
//......

}


那么我用电脑A上,在前端发起查询请求时,提交了查询条件:xmodel.name=xx1,

然后我在电脑B上,访问此查询功能页面的时候,没有提交任何查询条件;但是发现服务器依然保留这xmodel.name=xx1的值,返回的结果与在电脑A上的结果一样,这是什么问题呢?
[解决办法]
第一,第二次请求,在execute方法中,接收的xmodel对象打印一下(在查询之前)
第二,给setXmodel方法加个断点,看看第二次注入了没。
[解决办法]
struts的请求是独立的线程,所以不会有你说的共用module的问题,建议仔细测试下。
[解决办法]
这个问题还是一步一步debug吧。首先A上是提交表单还是直接访问这个url,你直接url访问的话是执行的get。另外你在A上把那个值设成2,然后B再访问试试,看会不会变成2
[解决办法]
引用:
Quote: 引用:

第一,第二次请求,在execute方法中,接收的xmodel对象打印一下(在查询之前)
第二,给setXmodel方法加个断点,看看第二次注入了没。


第一次请求时,我提交的参数为xmodel.name=xx1,XACTION 中的变量xmodel被实例化,
第二次请求时,我们有提交任何东西,理论上xmodel应该为NULL(因为如果我第一次请求时,如果不提交xmodel.name=xx1,那么xmodel==null),但打印出来还是xmodel.name=xx1

我说第二次的时候给setXmodel()的方法加个断点或者加个输出语句,看看是否执行,你做了没?
[解决办法]
tSysDept是个什么玩意,为什么是静态的。
[解决办法]
我感觉这跟ssh2没设么关系!应该是程序问题吧,还是debug找问题吧,顶一下!
[解决办法]
有时候是少些了或者多写了这种很头疼啊。

读书人网 >Java Web开发

热点推荐