zoukankan      html  css  js  c++  java
  • express中使用 connect-flash 及其源码研究

    刚开始摸node.js, 在用express 4.x 的过程中 有一个connect-flash的玩意 

    如上图, 在 /reg 页面提交注册信息的时候 如若两次输入的密码不匹配则调用请求对象reqflash方法写入提示消息; 然后 在展示 /reg 页面的时候取出抛给视图模版; 看起来就像个字典对象

    这个包必须在引用 express-session 包的前提下才能使用 why1 ,并且写入的值 在取出一次后即销毁 why2。 这非常像asp.net mvc里边的 tempdata对象

    开源的东西好处就是随时看源码~~~

    从 var msgs = this.session.flash = this.session.flash || {}; 这边很容易看出 flash 其实就是存储在session中的一个对象的键名;

    然后根据传入参数的个数做不同的处理:

      1 .  当传入参数为2个或多个的时候,session将会有 {"flash":{key:value}}  这样的对象,key就是传入的type,  value可能是字符串,数组或者 格式化字符串;

      2 .  当只传参数type的时候, 就是从session中取出flash对象的相应的value, 并且移除 delete msgs[type];

    ps:    flash英文解释是:闪光   我理解成一瞬间显示就消失的东西, 非常符合这里的编写意图,  不过个人觉得要是包名改成“session-flash”会更好 :)

  • 相关阅读:
    cloudera cdh4 hue 安装
    设计模式Observer(观察者模式)
    编译android源码三(编译系统)
    centos 6.3 修改默认的系统语言
    Linux下查看文件和文件夹大小的df和du命令
    编译android源码二(下载源代码)
    devenv.exe
    Javascript和xml合用
    DataKeys的用法
    XSL(转)
  • 原文地址:https://www.cnblogs.com/mushishi/p/5334666.html
Copyright © 2011-2022 走看看