有没有一种方法可以在传统的代码调试意义上调试 Velocity 模板?

2024-04-14

我们在 Web 应用程序中大量使用 Velocity。虽然调试 Java 方面并确保正确填充 Velocity Context 很容易,但能够在合并步骤中逐步解析 VTL、设置断点等将非常有价值。是否有任何工具或者 IDE/IDE 插件可以通过 VTL(速度模板语言)实现这种事情?


我还没有找到。我能得到的最接近的是hack一个日志框架来打印您想要的信息。

你所做的是:

  1. 创建一个带有返回布尔值的日志记录方法的类。
  2. 将对象注入速度上下文
  3. 从速度模板内部,您可以调用日志记录方法#if($logger.log($data)) #end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一种方法可以在传统的代码调试意义上调试 Velocity 模板? 的相关文章

  • mono 的 mdb 文件与 csc 的 pdb 文件

    I have 这个帖子 https stackoverflow com questions 4474326 c equivalent to pythons traceback library这教会了我有关 pdb 文件和 StackTrac
  • 如何将参数传递到 eclipse-plugin 中的代码模板

    我想创建一个定义新代码模板的插件 喜欢这篇博文 http thomaswabner wordpress com 2009 08 21 use your own variable in eclipse code templates 如何将参数
  • Nodejs 进程挂起,我该如何调试它或收集转储?

    我的nodejs进程在Linux上运行 现在挂起并且CPU为100 无论如何我可以调试它并找到原因吗 我需要收集转储吗 如何收集 谢谢 有一个 npm 模块叫做节点为何运行 https www npmjs com package why i
  • 在手机上单步执行 Android 代码 - 大行号差异

    我正在尝试调试与 Samsung Captivate Galaxy S 上的 ListView 相关的一些代码 我在代码中的某个位置放置了断点 当它停止时 我会在堆栈上返回几帧到 ListView 源 现在 我可以预期会出现一些不匹配的情况
  • wordpressfunctions.php - 为每个帖子类别使用不同的页面模板

    我想连接到 save post 函数 找出帖子所属的类别 然后为每个类别中的帖子分配不同的页面模板 我已经尝试了大约 30 个不同的版本 但都没有成功 有人可以帮我指出正确的方向吗 add action save post assign c
  • C++ 编译时类型注册技巧

    我有以下情况 假设我有一堆类型 函子 我想在编译期间注册 编译它们 最好是像 boost mpl vector 这样的东西 你知道有什么技巧可以做得很好吗 我的愿望是拥有实现函子类型和注册文件的 hpp 文件 其中宏将类型引入编译中 例如
  • 是否有与 f 字符串语法等效的可调用函数?

    每个人都喜欢 Python 3 6 的新 f 字符串 In 33 foo blah bang In 34 bar blah In 35 f foo bar Out 35 bang 然而 虽然在功能上非常相似 但它们的语义并不完全相同str
  • 该模块的调试信息中缺少源信息 - PDB 已成功加载

    Visual Studio 加载正确的 PDB 文件 但无法找到解决方案中任何内容的源信息 我尝试过的事情 清理 重新启动 重新生成项目 CMake 重建 检查模块窗口以确保 PDB 已加载 确实如此 解决方案属性下的 调试源文件 设置混乱
  • 如何调试 MySQL 存储过程?

    我当前的调试存储过程的过程非常简单 我创建一个名为 debug 的表 在存储过程运行时从其中插入变量值 这允许我查看脚本中给定点的任何变量的值 但是有没有更好的方法来调试 MySQL 存储过程 下列debug msg可以调用过程来简单地将调
  • 此 C++ 模板中的迭代器类型应该是什么?

    前一段时间在处理一些图形代码时 我使用整数作为底层坐标持有者编写了 Rect 和 Region 类 并且效果很好 Region 被实现为 STL 列表的简单类扩展 并且仅包含 矩形列表 现在我还需要使用双精度作为底层坐标持有者的相同类型的类
  • 开发工具在表达式上中断

    当给定的 Javascript 表达式为 true 时 我想暂停一切 我见过条件断点 但这对我不起作用 因为这需要首先在某处设置断点 或者首先基于某个标准 然后向其添加附加条件 相反 我想要的是能够在给定表达式为真时中断 无论在哪里 在 D
  • 是否可以为 Visual Studio 2010 编写一个调试器可视化工具来显示 64 位 .NET 程序?

    是否可以为 Visual Studio 2010 编写一个调试器可视化工具来显示 64 位 NET 程序的数据 我已经为 32 位编程编写了它们 但我无法设法使用或编译它们以用于 64 位应用程序 有什么建议么 我刚刚经历过同样的问题 我使
  • 是否存在与 Windows 7 内核符号相关的已知问题?

    我有几台 Windows 7 机器 我无法读取它们的内存转储 我发现一些我怀疑可能相关的东西 但并不肯定 https twitter com aionescu status 634028737458114560 https twitter
  • 如何在 django 模板中将名称反转为绝对 url?

    url url name 给出一个相对名称 我怎样才能做类似的事情 absolute url url name 这样它就会返回带基数的 url 包括端口 如果存在 有不同的解决方案 编写您自己的模板标签并使用 HttpRequest bui
  • 是否可以使用 Visual Studio 调试器的监视窗口来监视内存位置的值?

    是的 我知道有四个内存窗口 但我更喜欢在监视窗口中显示单个值 并且我想知道是否可以指定要在监视窗口中监视的内存位置 单独放置地址只会计算出十六进制地址 如果您想监视特定的内存位置 那么您需要告诉调试器该位置中的对象的类型 而不仅仅是0x00
  • Symfony2 Twig 扩展

    我在实现树枝扩展时遇到一些问题 我需要创建自己的过滤器 子过滤器 所以我想到了使用twig扩展 我在 MyApp Bundle WebsiteBundle 和文件上创建了一个名为 Extension 的文件夹 网站扩展 php namesp
  • 如何在 gem 的示例脚本中使用 pry-byebug ?

    我正在制作我的第一个 gem 它不是 Rails 应用程序 而是一个带有一些 AI 的 tic tac toe 库 这样我就可以与一个永远不会输的计算机对手比赛 并在可能的情况下强行获胜 现在我正在尝试调试人工智能中的攻击策略 但我似乎无法
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • 我可以使用折叠表达式实现 max(A, max(B, max(C, D))) 吗?

    在尝试使用 C 17 折叠表达式时 我尝试实现 maxsizeof其中结果是最大值sizeof的类型 我有一个丑陋的折叠版本 它使用变量和 lambda 但我无法想出一种使用折叠表达式和std max 得到相同的结果 这是我的折叠版本 te
  • 调试:在 Android 1.0 中找不到文件

    今天我更新到 Android Studio v 1 0 在尝试编译任何项目时出现以下错误 app build intermediates classes debug 找不到文件 问题是在更新之前我没有任何问题 这是我实际尝试编译的代码 构建

随机推荐