zoukankan      html  css  js  c++  java
  • 我记录综合系统学习研究之用户管理三(wojilu.Web.Controller.Layouts SiteLayoutController)

    书接上回

    本节来分析wojilu.Web.Controller.Layouts SiteLayoutController的Layout方法

    public override void Layout() {

    load("topNav", new TopNavController().Index);

    对照framework\views\Layouts\SiteLayout\Layout.html里的前端视图代码看一下

    以下代码片段

    <body>

    #{topNav}
    <div id="pageWrap">
    <div id="pageWrapInner">

    #{header}

    <div id="pageMainWrap">

    load("topNav", new TopNavController().Index);

    是对上面的topNav变量赋值,赋什么值呢,看一下load的定义

    protected void load( String sectionName, aAction action ) {
    set( sectionName, loadHtml( action ) );
    }

     可以看出是将framework\views\Layouts\TopNav\Index.html的内容填充后,替换#{topNav}

    同理 load("header", new TopNavController().Header);

    是将framework\views\Layouts\TopNav\Header.html的内容填充后,替换#{header}

    接下来我们看一下TopNavController().Index和framework\views\Layouts\TopNav\Index.html有没有什么可以挖掘的东西。

    我们看到TopNavController().Index最后有一句    set( "navUrl", t2( Nav ) );

    对framework\views\Layouts\TopNav\Index.html最后的变量#{navUrl}进行了赋值,参见以下:

    <script type="text/javascript">var ctx = null;var navUrl = '#{navUrl}';</script>
    <script type="text/javascript" src="~js/wojilu.site.topnav.js?v=#{jsVersion}"></script>

    欲知此处的奥秘,我们就要看下wojilu.web\static\js\wojilu.site.topnav.js的实现了

    $(document).ready( function() {

    navUrl = (navUrl + '?url='+window.location.href).toAjax();

    ......

    $.post( navUrl, function(data) {

    ctx = data;

    ......

    }

    这里通过ajax的post方法,再次请求了服务器TopNavController()的Nav action

    public void Nav() {

    // TODO 如果是在访问用户空间,则判断:是否好友、是否关注
    echoJson( getLoginJsonString() );
    }

    Nav()方法返回一段json给客户端。动态设置用户的一些状态和权限。

     load("header", new TopNavController().Header);

    主要是加载site的菜单和子菜单。有空再进行深入探讨。

    综上所述,整个流程,有两次服务器访问,一次是页面加载,一次是js请求topnav的json数据。

  • 相关阅读:
    转载:configure生成的文件(1.5.3)《深入理解Nginx》(陶辉)
    现场管理
    02 表扫描
    01 成本的含义
    16 计划稳定性与控制
    14 事务处理
    13 SELECT 以外的内容
    12 索引
    11 半联结 & 反联结
    08 分析函数
  • 原文地址:https://www.cnblogs.com/xchsp/p/2858807.html
Copyright © 2011-2022 走看看