Velocity
Velocity簡介
Velocity是一個基于Java的模板引擎(template engine)。它可以讓視圖的設(shè)計者在web頁面中引用Java代碼中定義的數(shù)據(jù)對象和命令,從而使Web designers和Java開發(fā)者依照MVC思想(Model-View-Controller)開發(fā)系統(tǒng),這意味著Web designers只需將精力用在視圖外觀設(shè)計,而Java程序員則只要關(guān)心如何寫出高效簡潔的Java對象以及實現(xiàn)業(yè)務(wù)邏輯,Velocity會將他們組裝到一起。
velocity模板語言(VTL)
- VTL聲明:所有的VTL Statement都是以#開頭,且包含一個指示符。
- VTL注釋:單行注釋以##開頭的一行文字,如要多行注釋,將它們放入#*和*#之間。
- VTL引用:變量引用(variables)、屬性引用(properties)、命令引用(methods),使用符號$。? ? ? ? ? ?注意:模板中引用必須是通過Java Bean中的getter/setter實現(xiàn)的,而直接的java對象的數(shù)據(jù)域是不能直接引用的,如$foo.Name會解析到class Foo‘s ? ? ? ? ? ? ? ? ? ?getName()的實例方法,但不會解析到Foos類的public Name這個實例變量。
- VTL指令(directives):模板設(shè)計者使用“引用”生成動態(tài)內(nèi)容,指令——簡單的說就是設(shè)計者在模板中操作Java對象,讓視圖設(shè)計者全部控制輸出內(nèi)容的格式。指令總是以#開頭后面緊跟具體的指令符。
- Velocity使用==來做比較
- Velocity應(yīng)用程序,流程分以下幾步:
在Solr中使用Velocity返回搜索結(jié)果
在Solr中可以以多種方式返回搜索結(jié)果,如單純的文本(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中的內(nèi)容將作為$content的內(nèi)容--><str name="v.layout">layout</str><str name="title">EMPE</str></requestHandler>關(guān)于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相關(guān)的文件。
參考資料:
https://cwiki.apache.org/confluence/display/solr/Velocity+Response+Writer
轉(zhuǎn)載于:https://www.cnblogs.com/saratearing/p/5740683.html
總結(jié)
- 上一篇: 研发过程管理导图
- 下一篇: Chapter 1 First Sigh