欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js获取ModelAndView值步骤详解

程序员文章站 2022-06-07 09:01:56
...
这次给大家带来js获取ModelAndView值步骤详解,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);
            //调用分页插件,初始化分页p
            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");

相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!

推荐阅读:

EL如何获取上下文参数值(附代码)

js中el表达式怎样做出非空判断

以上就是js获取ModelAndView值步骤详解的详细内容,更多请关注其它相关文章!