coldfusion - 您如何在 ColdFusion 中跟踪模板调用?

标签 coldfusion

您如何在 ColdFusion 中跟踪模板路径?

IE。
我有以下文件夹和文件结构

  • 索引.cfm
    <cfset ArrayAppend(request.Trace, '/')> <cfdump var=#request.trace#>
  • foo
  • 索引.cfm
    <cfset ArrayAppend(request.Trace, '/foo/')> <cfinclude template='../'>
  • 酒吧
  • 索引.cfm
    ArrayAppend(request.Trace,'/foo/bar/')> <cfinclude template='../'>

  • 当我打电话时foo/bar/index.cfm ,
    request.Trace 等于:
  • '/foo/bar/'
  • '/foo/'
  • '/'

  • 如果不特别声明每个文件夹名称,我怎么能做到这一点?

    最佳答案

    看一下:

  • expandPath(".")
  • getBaseTemplatePath()
  • getCurrentTemplatePath()
  • CGI.CF_TEMPLATE_PATH
  • CGI.PATH_TRANSLATED
  • CGI.SCRIPT_NAME

  • 如果您想要模板堆栈跟踪,请使用:
    <cfset templateTrace = []>
    <cfset tagTrace = createObject("java","java.lang.Exception").init().TagContext>
    <cfloop array="#tagTrace#" index="tagInfo">
        <cfset templateTrace.add(tagInfo.Template)>
    </cfloop>
    <cfdump var="#templateTrace#">
    

    这将输出传递给此调用的所有模板。

    关于coldfusion - 您如何在 ColdFusion 中跟踪模板调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37687232/

    相关文章:

    mysql - ColdFusion 仅返回数据库中的部分字符串

    jquery - ColdFusion 结构和 Ajax

    coldfusion - 如何在某些 java 类或包上限制 createObject()?

    java - 从命令行运行 Java 实用程序时没有足够的存储空间来处理此命令

    coldfusion - 如何修剪没有任何空格的字符串

    xslt - 如何让 Coldfusion XSLT 'contains' 函数起作用?

    mysql - CF8和AES解密MySQL AES : encodings are not same

    coldfusion - cfloop 通过动态表单字段

    javascript - 将 Coldfusion 表单值传递给 javascript 和 CFC,代码不起作用

    jquery - 使用 AJAX 将表单数据发送到 Fw/1(Coldfusion) Controller 功能