博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

页面模板替换(json)

Posted on 2009-04-14 11:57  linFen  阅读(503)  评论(0编辑  收藏  举报

用json数据替换模板中的标志返回一个String。

 

var Render=...{
    rend:function(template, V)...{
        V=V.constructor==Array?V:[V];
        var r="";
        for(var i in V)...{
            r+=this.rendElement(template, V[i]);
        }
        return r;
    },
    rendElement:function(template,V)...{
        var TagB="\$\{",TagE="\}";
        var reg=new RegExp(TagB+"([^\}]*)"+TagE,"g");
        return template.replace(reg,function(m,i)...{
                return eval("V."+i);
        });       
    }
}
说明:

Render.rend()为针对数组与对象的通用调用方法。template为模板,V为一个json格式的对象或者数组

数据格式: json

模板标志:${}

代码示例:

 

function ex()...{
    var a="arg1:${A1},arg2:${ A2 },arg3:${ A1}";
    alert(Render.rend(a, [...{"A1":"XXX","A2":"YYY"},...{"A1":"XXX22","A2":"YYY22"}])); 
}

 

文章出处:DIY部落(http://www.diybl.com/course/1_web/javascript/jsjs/20071226/94506.html)