04 2012 档案

Spring MVC中使用自定义TemplateLoader对freemarker模板做全局html转义
摘要:freemarker作为"通用"模版引擎, 默认情况下不会对model中的值进行html转义, 然而在web项目中, 为了防止跨站脚本攻击等问题, 必须在对model中的值进行转义. 解决办法:方法1. 是使用 ${x?html} 可以用于对单个值的转义方法2. 使用<#escape x as x?html> ... </#escape> 将需要转义的html代码包起来, 这样其中所有的值都会被转义了.毫无疑问这两个方法都需要大量的重复操作, 如果我所有的模板都需要转义, 有没有一劳永逸的办法呢?方法3. 使用自定义TemplateLoader首先我 阅读全文

posted @ 2012-04-23 14:10 nixil 阅读(4203) 评论(0) 推荐(0)

JavaScript Puzzle 之 变量作用域
摘要:var a = 10;(function(){ alert(a); var a = 20;})();请看上面这段代码, 猜测一下alert出来的是什么呢? 答案可能出乎意料是undefined! 当然如果你弄清除了js的作用域和变量解析机制, 也就能够理解了. 大家都知道js是解释执行的, 但并不是简单的按顺序一行行执行, 而是以块(block)为单位, 边解析边执行. 那么在解析这个块的时候, 会将变量声明操作提到块的最前面. 所以上面的代码其实是等同于var a = 10;(function(){ var a; alert(a); a = 20;})();这样一来也就十分明了了,... 阅读全文

posted @ 2012-04-16 16:59 nixil 阅读(256) 评论(0) 推荐(0)