代码之家  ›  专栏  ›  技术社区  ›  Bill

为什么人们使用速度和/或速度?

  •  4
  • Bill  · 技术社区  · 15 年前

    在过去的一年里,我听说过很多关于速度和速度的事情。阅读他们的文档和在网上搜索并没有给我我想要的答案。

    在什么情况下,我会在开发中使用这个库?它解决了哪些还没有解决方案的问题?

    6 回复  |  直到 11 年前
        1
  •  8
  •   Miguel Ping    15 年前

    自从Web应用程序出现以来,人们开始考虑在许多应用程序(包括Web应用程序)中分离关注点。挑战是将什么是视图代码和什么是业务代码或逻辑代码分开。当JSP第一次出现时,许多人直接在JSP中编写大量的逻辑(比如DB访问等),打破了 关注点分离 (JSP应该负责表示,而不是逻辑)。

    Velocity、FreeMarker等都是模板化的引擎,允许将UI逻辑和业务逻辑分离开来,从而在最小化业务方面的更改的同时促进了表示的更改。这些模板引擎具有执行常见UI任务的功能,例如,如果某些条件为真,则显示HTML块,或者迭代列表。 同时在视图外维护逻辑代码 . 从长远来看,这是维护复杂应用程序的基础。

        2
  •  4
  •   Kent Lai    15 年前

    我认为有必要指出,与JSP/ASP.NET作为模板机制相比,Velocity/Nvelocity确实“加强”了关注的分离。

    与…JSP/ASP.NET的%.gt;允许任何Java/.NET代码。这就是为什么有时您确实在这些文件中看到业务逻辑代码的原因。

    使用Velocity/Nvelocity,您不能嵌入长系列的代码。相反,您实际上必须传递计算值,速度/不速度将根据模板的设计方式获取并显示这些值。

    另一点是,它们可以在Web容器环境之外工作(至少速度可以是afaik)。假设您使用JSP/ASP.NET设计了一个报告模板。它在网络上运行良好。然后突然有一个变更请求从桌面应用程序中完成。您可以初始化velocity/nvelocity,计算值,然后渲染模板,而不是将Web容器嵌入其中。

        3
  •  3
  •   Rob Rodi    15 年前

    它是一个模板引擎。如果你有很多混合了可变内容的静态文本,模板是减少你必须做的工作量的一个很好的方法。 它比string.format或加载concatenation要好得多,因为它不是重复的或容易出错的,而且更易于维护,因为您只需查看它就可以准确地了解模板的功能。

        4
  •  0
  •   Fortyrunner    15 年前

    我们使用模板生成生产、UAT、系统测试、应急系统等的配置文件。

    我们有一个主弹簧配置文件,在其中插入一个属性文件。我们有一个由Velocity解析的主属性文件,这允许我们将所有系统设置保存在一个文件中。

        5
  •  0
  •   Miguel Ping    15 年前

    作为奖励,对于感兴趣的人,我建议阅读以下内容:

    这些是关于StringTemplate的链接,这是一个由编写Antlr的Terence Parr开发的模板引擎,它是一个到处都使用的解析器(例如:Hibernate使用Antlr)。

        6
  •  0
  •   sidharth    11 年前

    1-速度引擎实际上合并了 实时数据 xyz.vm 保存 静态信息
    2-vm文件使用速度模板语言(vtl) (它可以对放置在上下文中的Java可重复Java对象进行迭代,可以调用放置在上下文中的对象可访问的方法)

    使用速度的情况- 将Java的能力引入HTML 不仅限于HTML
    1-当您必须经常使用不同的数据和常量样式生成报表邮件时。(foreach支持)
    2-当您希望将实时数据与深度嵌套内容中的虚拟占位符合并时
    3-当您想根据数据值决定样式信息时(如果其他支持)
    还有更多
    参考- http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html