如何验证ColdFusion / Lucee中的组件路径名称

时间:2015-10-30 12:18:12

标签: coldfusion coldfusion-10 lucee

这似乎是一个简单的问题,但我找不到答案。如果我有一个组件路径“pathToComponent”,我该如何验证它是否有效?现在我正在尝试使用try / catch,但肯定有更优雅的方式吗?

boolean function isValidComponent( required string pathToComponent ){

    try{
        var metaData = getComponentMetaData( arguments.pathToComponent );
        return true;
    }
    catch( any e ){
        return false;
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

如果要测试组件路径是否可用于创建组件,请使用:

products = {}
products['word_count'] = [{'and': 5,'stink': 1, 'because': 2}, 
                          {'awesome': 3, 'bad': 2}, 
                          {'mac': 5, 'awesome': 1}]

products['awesome'] = [d.get('awesome',0) for d in products['word_count']]

如果要以物理方式访问组件,请使用:

boolean function isValidComponent( required string pathToComponent ) {

    try {

        createObject("component", ARGUMENTS.pathToComponent);
        return true;
    }
    catch(any) {
    }

    return false;
}