struts1中如何实现关闭子窗口控制父窗口提交请求
各位大侠,本人遇到一个非常棘手的问题。父画面上点击按钮,通过open方式打开一个新的子窗口,在子窗口中点击按钮提交表单,将子窗口的数据登录到数据库中,之后我想在父窗口自动...
各位大侠,本人遇到一个非常棘手的问题。
父画面上点击按钮,通过open方式打开一个新的子窗口,在子窗口中点击按钮提交表单,将子窗口的数据登录到数据库中,之后我想在父窗口自动发行一个查询请求,将插入到数据库的新数据查询出来,在父画面显示。
我现在的做法:
子画面提交表单,调用指定的Action进行逻辑处理,将子画面输入的数据插入到数据库,然后再将数据检索出来,放回到ActionForm中,forward=success,指向子画面。
可是这么做之后我发现,逻辑上没有问题,但并不是在父画面显示数据,而是在子画面显示出了数据。这是怎么回事啊?
我个人感觉,一旦打开了一个子画面,那么在子画面的所有请求,最后都返回到子画面上了,好像跟父画面断开了一样。 这个问题怎么解决啊? 有没有有经验的大侠帮忙解决一下。
下面这段错了,是成功之后指向父画面
我现在的做法:
子画面提交表单,调用指定的Action进行逻辑处理,将子画面输入的数据插入到数据库,然后再将数据检索出来,放回到ActionForm中,forward=success,指向父画面。 展开
父画面上点击按钮,通过open方式打开一个新的子窗口,在子窗口中点击按钮提交表单,将子窗口的数据登录到数据库中,之后我想在父窗口自动发行一个查询请求,将插入到数据库的新数据查询出来,在父画面显示。
我现在的做法:
子画面提交表单,调用指定的Action进行逻辑处理,将子画面输入的数据插入到数据库,然后再将数据检索出来,放回到ActionForm中,forward=success,指向子画面。
可是这么做之后我发现,逻辑上没有问题,但并不是在父画面显示数据,而是在子画面显示出了数据。这是怎么回事啊?
我个人感觉,一旦打开了一个子画面,那么在子画面的所有请求,最后都返回到子画面上了,好像跟父画面断开了一样。 这个问题怎么解决啊? 有没有有经验的大侠帮忙解决一下。
下面这段错了,是成功之后指向父画面
我现在的做法:
子画面提交表单,调用指定的Action进行逻辑处理,将子画面输入的数据插入到数据库,然后再将数据检索出来,放回到ActionForm中,forward=success,指向父画面。 展开
2个回答
展开全部
点击子窗口确定按钮,使用异步提交,写个异步查询链接(查询父窗口的list的)自动执行的然后关闭子窗口
更多追问追答
追问
异步查询链接怎么弄啊?能不能给我个简单的例子。
我用的STRUTS1框架,真不知道怎么弄。
我的子窗口是新增用户页面,输入用户信息后点击登录按钮,这个时候子窗口是需要执行一个Action的。
最好的方式是执行完这个Action之后关闭子画面,回到父画面,在父画面自动提交一次检索请求,执行查询Action,把刚才登录进去的记录查询出来,在父画面显示。。
追答
第一步加入jquery包:">
第二步
loadUserByBankId 是action中的方法
callback action 返回的字符串标识
$.post("../studio/tag.do?method=loadUserByBankId",{},function(callback) {
if(callback=='成功'){
reLoadData();//刷新父窗口方法,个人随便起的名字
window.close();//关闭窗口
}
}).error(function(){alert('加载行员出现错误');});
展开全部
这个struts1可以实现吗?
追问
上面这段代码是写在子画面提交按钮的onclick事件里的吧?
然后reLoadData();方法是刷新父窗口的,首先我用的Action只会返回forward字符串,success或者failure。
那我的callback变量是不是要定义成forward啊,返回成功还是失败是struts底层变量来控制的吧,我用的是struts1,不是struts2。我纠结了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询