欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Velocity

发布时间:2025/5/22 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Velocity 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Velocity简介

Velocity是一个基于Java的模板引擎(template engine)。它可以让视图的设计者在web页面中引用Java代码中定义的数据对象和命令,从而使Web designers和Java开发者依照MVC思想(Model-View-Controller)开发系统,这意味着Web designers只需将精力用在视图外观设计,而Java程序员则只要关心如何写出高效简洁的Java对象以及实现业务逻辑,Velocity会将他们组装到一起。

velocity模板语言(VTL)

  • VTL声明:所有的VTL Statement都是以#开头,且包含一个指示符。
  • VTL注释:单行注释以##开头的一行文字,如要多行注释,将它们放入#*和*#之间。
  • VTL引用:变量引用(variables)、属性引用(properties)、命令引用(methods),使用符号$。           注意:模板中引用必须是通过Java Bean中的getter/setter实现的,而直接的java对象的数据域是不能直接引用的,如$foo.Name会解析到class Foo‘s                    getName()的实例方法,但不会解析到Foos类的public Name这个实例变量。
  • VTL指令(directives):模板设计者使用“引用”生成动态内容,指令——简单的说就是设计者在模板中操作Java对象,让视图设计者全部控制输出内容的格式。指令总是以#开头后面紧跟具体的指令符。
  • Velocity使用==来做比较
  • Velocity应用程序,流程分以下几步:
  • 初始化Velocity
  • 创建context对象
  • 添加数据到context
  • 选择模板
  • 合并模板和数据,产生输出页面
  • 在Solr中使用Velocity返回搜索结果

    在Solr中可以以多种方式返回搜索结果,如单纯的文本(XML、JSON、CSV等),也可以将返回Velocity,js等格式。VelocityResponseWriter用于返回Velocity类型文本。Solr的RequestHandler  /browse,就使用了VelocityResponseWriter。在solrconfig.xml文件中配置如下:

    <requestHandler name="/browse" class="solr.SearchHandler"><lst name="defaults"><str name="echoParams">explicit</str><!-- VelocityResponseWriter settings --><str name="wt">velocity</str><str name="v.template">browse</str> <!--定义到文件browse.vm,省略了后缀名vm,v.template中的内容将作为$content的内容--><str name="v.layout">layout</str><str name="title">EMPE</str></requestHandler>

    关于Velocity这个writer的定义如下:

    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"/>

    Solr下载文件中,自带的browse模板连接:http://localhost:8983/solr/techproducts/browse

    Velocity模板依赖的Jar包,在Solr下载包中的位置为:<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />

    在solrconfig.xml的同级目录下的velocity文件夹中,包含Velocity相关的文件。

    参考资料:

    https://cwiki.apache.org/confluence/display/solr/Velocity+Response+Writer

    转载于:https://www.cnblogs.com/saratearing/p/5740683.html

    总结

    以上是生活随笔为你收集整理的Velocity的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。