同一个页面,发出ajax请求,经过controller,返回ModelAndView,数据显示不了

2017-10-12 19:26:00来源:CSDN作者:allWords人点击

分享
1.jsp页面
一个parent.jsp中包含了一个下拉菜单(显示在上面),下面是一个iframe,iframe的src为child.jsp.
2.需求
根据上面的下拉菜单所选择的项目,发出请求数据,在iframe中表格中显示所对应项目中的数据
3.动作
目前,我在下拉菜单中注册了onchange事件,当用户选择了一个子项,则发出ajax请求,然后,在相应的controller中,进行处理,ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("dataList",new ArrayList());//反正是一个list集合,里面是有数据的,modelAndView.setViewName("child"),
4.child.jsp
有一个table,表格中用el表达式${dataList},<c:foreach>循环取出相应的数据
5.现象
通过观察http请求和应答,发现,response返回了child.jsp中table的相应数据,但是在整个parent.jsp页面显示中,显示不到获取的数据。这是为什么 ?
6.可能原因
(1)是child.jsp中有数据了,但是parent.jsp中iframe框架中的页面没有进行同步显示
(2)是modelAndView中setViewName错误了
(3)请求和响应不能是同一个页面?

请大神能帮忙!


后来我没有用ajax,而是我想到了以前用超链接的target属性可以指定显示的方式,后来我想能不能在select 的option中加超链接的,然后把超链接的target设置为iframe的name,
于是,各种找,最后发现,可以修改iframe的src属性,不把它写成.jsp文件的格式,而是写成.do请求,这样用controller处理,然后加载返回的数据,最后呈现页面

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台