• js获取modelandview的值


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

    1 方法一 【有效?】

    可以的,跟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>

    2 方法二【有效?】
    台返回的是js,还是json?这个一定要搞清楚!
    假设后台返回的字符串存储在responseText里,那么
    如果是js,就
    var result = eval("(" + responseText + ")");
    如果是json,就
    var result = JSON.parse(responseText);
    3 方法三 【有效】
    加入隐藏字段,
      <input id="autoflag" type="hidden" value="${autoflag}">
      便于js读取 
     var passflag=document.getElementById("autoflag");
  • 相关阅读:
    GS 原理及破解 《0day安全》
    Windows 2000 栈溢出 利用异常
    windows2000 堆溢出 利用原理
    数据类中引用virtual
    DevExpress 程序运行后 layoutView 卡片大小发生变化
    DevExpress 标题栏添加搜索功能
    DevExpress 关于alertControl 图片显示
    DevExpress 关于alertControl 改变其大小
    DevExpress GridControl 选择整行被选单元格不变色的设置
    DevExpress 在使用Ribbon皮肤时标题栏不变化的原因
  • 原文地址:https://www.cnblogs.com/rojas/p/6136340.html
Copyright © 2020-2023  润新知