
也许可以这样,你需要返回一个json,这个json由一个对象呗@ResponseBody自动序列生成,然后,你试着将这个对象保存进model里面,mvsetObject("xx",xx);然后在拦截器中拦截未返回的的那个方法中model里面的对象做处理,对象是引用,这里改了,如果@ResponseBody的返回处理还为发生,即可改变返回数据,至于取得,也可以将对象手动序列(找个api就行)!
int r=0;
SystemDataObjectsObjectParameter result = new SystemDataObjectsObjectParameter("Result",SystemDataDbTypeInt32);
moviesMovies_Create(Title, ConvertToDateTime("ReleaseDate"), Genres_List, Price, Rating, result);
r=(int)resultValue;//r就是你所需要的返回值
一般返回一个model这样
@model MvcMusicStoreModelsAlbum
方法:
public ActionResult Details(int id)
{ var album = storeDBAlbumsFind(id);
return View(album);
}
这个页面不止一个model,还有其他的,那么
Details/id,仅仅返回这一个return View(album); 我想返回其他model,在这个url里面和方法怎么写
Details/id?type=4,我想再返回类型的model
@model MvcMusicStoreModelsAlbum
@model2 MvcMusicStoreModelsAlbumType
如上,控制器里面返回2个model,按照我的理解应该这样
public ActionResult Details(int id,int type)
{ var album = storeDBAlbumsFind(id);
var albumtype=storeDBAlbumstypeFind(type);
第一种方法:使用ViewModel概念,即建立一个新的class,将所有model都做为它的属性出现,这里你直接返回这个ViewModel即可,如:
public class UserViewModel{
public User_Info User_Info{get;set;}
public User_Extension User_Extension{get;set;}
}
第二种方法:使用ViewData或者MVC3里的ViewBag都可以
超过一个集合数据,不建议用return返回,你完全放在ViewData中:ActionResult index()
{
DataTable dt1 = 数据库查询到的集合;
DataTable dt2 =数据库查询到的集合; ViewData["dt1"] = dt1;ViewData["dt2"] = dt2;
//return 还是返回某一个页面;
}在接受页面上,使用<%ViewData["dt1"] as DataTable%>的方式使用foreach或者for遍历即可。
以上就是关于求助,spring mvc 拦截器如何获取 controller 返回的json结果全部的内容,包括:求助,spring mvc 拦截器如何获取 controller 返回的json结果、MVC中通过.edmx调用存储过程处理返回值、mvc3,view页面要返回多个不同的model,从控制器里面怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)