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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/allWords/article/details/78214246
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处理,然后加载返回的数据,最后呈现页面

展开阅读全文

没有更多推荐了,返回首页