在dojo dtl中打印null时出错

时间:2013-10-02 18:59:19

标签: javascript dojo django-templates

我有一个用Dojo编写的基本小部件,它使用DTL打印几个变量。但是,当其中一个变量为null时,会导致错误(str为null)。是否有可能解决或绕过此错误?我希望它只打印一个空字符串......

我在firefox 24中使用了dojo 1.9.0。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我最终创建了一个补丁,所以这不会发生。 这将返回字符串null。如果你想让它返回空的sting取消注释str =“”;

//Patch for DTL so it wont fail everytime there is a null value in JSON.
    require([ "dojox/dtl/_base"],function(){
        dojox.dtl._VarNode.prototype.render = function(context, buffer){
            var str = this.contents.resolve(context);
            if(str){
                if(!str.safe){
                    str = dojox.dtl._base.escape("" + str);
                }
            }else{
                writeLog("=====Value was Null::" + this.contents.key);
                //str="";
            }
            return buffer.concat(str);
        };
    });