zoukankan      html  css  js  c++  java
  • 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</br>
        if(user!=null){</br>
            Integer id = user.getId();</br>
            view.addObject("userId",id);</br>
        }</br></br>
    
        return view;</br>
    }</br>
    

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

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

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

    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");
    
  • 相关阅读:
    博文视点大讲堂第20期——Windows 7来了
    程序员如何缓解“电脑病”
    HQL中In的问题详解
    Tomcat、Websphere和Jboss类加载机制
    Hibernate锁机制悲观锁和乐观锁
    软件项目开发典型风险一览过程篇
    XPath实例教程
    CMMI的含义及重点
    自动化测试工具selenium使用介绍
    深入DNS域名解析服务原理
  • 原文地址:https://www.cnblogs.com/jpfss/p/8479299.html
Copyright © 2011-2022 走看看