JS当中不能接收ModelAndView的返回值吗?一定要在JSP页面中才能接收吗?

怎么在JS页面中接收一个ModelAndView.addobject的返回值。

js只能接收js自己的对象,建议用json,在后台写一个序列化的方法,将你传的对象序列化传到前端,这当中的业务自己写。你在后台定义的ModelAndView.addobject,换了环境谁知道…………

js可以接收返回json,所以先转换成json,再传到前端

可以的,跟el表达式访问方式一样。
示例代码,一个数据展示请求的Action中存入一个userId:

 @RequestMapping(value="/diary")
    public ModelAndView toDiaryList(HttpSession session){
        ModelAndView view =  new ModelAndView("/diary_list");
        TbUser user = (TbUser)session.getAttribute(SystemConstant.CURRENT_USER);

        //set info of current user
        if(user!=null){
            Integer id = user.getId();
            view.addObject("userId",id);
        }

        return view;
    }

在页面jsp文件中js中使用这个userId作为查询条件:

    <script type="text/javascript">
        var path = '<%=basePath%>';
        var author=${userId};
        $(document).ready(function(){
            queryList();
        });

        function queryList(){
            $.ajax({
                type : 'POST',
                url : path+'queryDiaryList', //通过url传递name参数
                data : {
                        author:author,
                        page:_currentPage,
                        pageSize:_pageSize,
                        type:$("#queryType").val()
                    },
                dataType : 'json',
                success:function(data){
                    if(data.status){
                        showTable(data.result);
                        //调用分页插件,初始化分页Div
                        pageShow("queryList",data.ext.total);
                    }else{
                        alert(data.description);
                    }
                },
                error:function(e){
                    alert("Net error ,try later.");
                }
            });
        }
        </script>