gpt4 book ai didi

spring - Velocity IncludeEventHandler 困境

转载 作者:行者123 更新时间:2023-12-01 04:58:49 28 4
gpt4 key购买 nike

这里有一个关于 IncludeEventHandler 的有趣问题。

我正在开发一个基于 Spring 的应用程序,该应用程序使用具有单独投资组合站点的不同供应商的速度。我让供应商通过向他们提供存储在数据库中并由速度引擎使用 DataSourceResourceLoader 获取的 Velocity 模板来自定义页面。

我的 table 组织得像 this .

厂商可以通过调用宏#parse来解析其他模板。并通过他们的 vendorid/template-name所以它看起来像这样。

#parse("20160109144/common-css.vm")

现在实际的问题是根据vendorid来取模板。
我有一个类(扩展 IncludeEventHandler )覆盖了 includeEvent方法。现在我该怎么做才能返回所需的模板?我不想更改名称并使它们看起来像 20160109144/home.vm

最佳答案

对于 OP 的问题,目的是为 DataSourceResourceLoader 提供替代行为。 .

不幸的是,Velocity Engine 1.7 版无法更改用于检索模板的 SQL 语句。

DataSourceResourceLoader 扩展了 ResourceLoader抽象类。也就是说,如果您 reference the source ,您应该能够实现一个按照您希望的方式运行的自定义 ResourceLoader。

一种选择是从 DataSourceResourceLoader 中删除大部分代码并更改它确定要从数据库加载的模板内容的方式。

我将转储所有与查询相关的 Material ,因为您将确定要为内容加载的特定列。 DataSourceResourceLoader 本质上将模板的名称映射到数据库条目,您的实现本质上围绕着您在上面定义的规则。

希望这可以为前进提供足够的帮助。我建议也将其拉入调试器中,并确定传递给相关加载方法的内容和未传递的内容。

关于spring - Velocity IncludeEventHandler 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693988/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com