W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
VelocityResponseWriter(Velocity響應(yīng)編寫器)是 contrib/velocity 目錄中可用的可選插件。當(dāng)使用諸如 “_default”、“techproducts” 和 “example / files” 等配置時(shí),它為瀏覽用戶界面提供動(dòng)力。
必須添加它的 JAR 和依賴項(xiàng)(通過<lib>或 solr/home lib 包含),并且必須在 solrconfig.xml 像這樣注冊(cè):
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter">
<str name="template.base.dir">${velocity.template.base.dir:}</str>
<!--
<str name="init.properties.file">velocity-init.properties</str>
<bool name="params.resource.loader.enabled">true</bool>
<bool name="solr.resource.loader.enabled">false</bool>
<lst name="tools">
<str name="mytool">com.example.MyCustomTool</str>
</lst>
-->
</queryResponseWriter>
以上示例顯示了 VelocityResponseWriter 使用的可選的初始化和自定義工具參數(shù);下文詳細(xì)介紹了這些內(nèi)容。這些初始化參數(shù)僅在 solrconfig.xml 中的編寫器注冊(cè)中指定,而不是作為請(qǐng)求時(shí)間參數(shù)。請(qǐng)參閱下面的請(qǐng)求時(shí)間參數(shù)。
如果指定并作為文件系統(tǒng)目錄存在,則將為此目錄添加一個(gè)文件資源加載程序。此目錄中的模板將覆蓋 “solr” 資源加載程序模板。
指定一個(gè)屬性文件名,必須存在于 Solr 的conf/
目錄(而不是在velocity/
子目錄中)或者 <lib> 的 JAR 文件的根中。
“params” 資源加載程序允許在 Solr 請(qǐng)求參數(shù)中指定模板。例如:
http://localhost:8983/solr/gettingstarted/select?q=\*:*&wt=velocity&v.template=custom&v.template.custom=CUSTOM%3A%20%23core_name
v.template=custom
表示要呈現(xiàn)一個(gè)名為“自定義”的模板,其值v.template.custom
是自定義模板。默認(rèn)情況下為false
;它不常用,需要時(shí)啟用。
“solr” 資源加載程序是默認(rèn)注冊(cè)的唯一模板加載程序。模板是由 SolrResourceLoader 從velocity/
子目錄下可見的資源提供的。VelocityResponseWriter 本身有一些內(nèi)置的模板(在它 JAR 文件中的velocity/
),這些模板可以通過這個(gè)加載程序自動(dòng)使用。當(dāng)相同的模板名稱處于 conf/velocity/ 或使用template.base.dir
選項(xiàng)時(shí),可以覆蓋這些內(nèi)置模板。
可以將外部“工具”指定為字符串名稱/值(工具名稱/類別名稱)對(duì)的列表。Velocity 上下文中的工具只是 Java 對(duì)象。工具類是使用無參數(shù)構(gòu)造函數(shù)(或者一個(gè)單一的 SolrCore-arg 構(gòu)造函數(shù),如果存在的話)構(gòu)造的,并以指定名稱添加到 Velocity 上下文中。
自定義注冊(cè)的工具可以重寫具有相同名稱的內(nèi)置上下文對(duì)象,除了$request
,$response
,$page
和$debug
(這些工具被設(shè)計(jì)成不能被重寫)。
指定要呈現(xiàn)的模板的名稱。
指定一個(gè)模板名稱,用作圍繞主v.template
指定模板的布局。
主模板呈現(xiàn)為包含在布局渲染中的字符串值$content
。
確定主模板是否應(yīng)該有圍繞它的布局。默認(rèn)是true
,但也需要指定v.layout
。
指定 HTTP 響應(yīng)中使用的內(nèi)容類型。如果沒有指定,默認(rèn)取決于是否指定v.json
。
默認(rèn)情況下不包含v.json=wrf
:text/html;charset=UTF-8
。
默認(rèn)為v.json=wrf
:application/json;charset=UTF-8
。
指定一個(gè)函數(shù)名稱來包裝呈現(xiàn)為 JSON 的響應(yīng)。如果指定,則響應(yīng)中使用的內(nèi)容類型將為“application / json; charset = UTF-8”,除非被v.contentType
覆蓋。
輸出將采用以下格式(帶v.json=wrf
):
wrf("result":"<Velocity generated response string, with quotes and backslashes escaped>")
使用$resource
工具和其他 LocaleConfig 實(shí)現(xiàn)工具的語(yǔ)言環(huán)境。默認(rèn)語(yǔ)言環(huán)境是Locale.ROOT
。本地化資源從名為resources[_locale-code].properties
的標(biāo)準(zhǔn) Java 資源包中加載
可以通過提供由 SolrResourceLoader 在速度子下的資源包可見的 JAR 文件來添加資源包。資源包不能在conf/
下加載,因?yàn)橹挥?SolrResourceLoader 的類加載程序方面可以在這里使用。
當(dāng)啟用 “params” 資源加載程序時(shí),可以將模板指定為 Solr 請(qǐng)求的一部分。
上下文參考 | 描述 |
---|---|
|
SolrQueryRequest javadocs |
|
QueryResponse;大多數(shù)情況下,但在某些情況下,QueryResponse 不喜歡請(qǐng)求處理程序的輸出(例如 AnalysisRequestHandler 會(huì)導(dǎo)致 ClassCastException 解析“響應(yīng)”),則響應(yīng)將是 SolrResponseBase 對(duì)象。 |
|
一個(gè) Velocity EscapeTool 實(shí)例 |
|
一個(gè) Velocity ComparisonDateTool 實(shí)例 |
|
一個(gè) Velocity ListTool 實(shí)例 |
|
一個(gè) Velocity MathTool 實(shí)例 |
|
Velocity NumberTool 實(shí)例 |
|
一個(gè) Velocity SortTool 實(shí)例 |
|
一個(gè) Velocity DisplayTool 實(shí)例 |
|
一個(gè) Velocity ResourceTool 實(shí)例 |
|
當(dāng)前的 VelocityEngine 實(shí)例 |
|
Solr 的 PageTool 的一個(gè)實(shí)例(只有當(dāng)響應(yīng)是 QueryResponse 時(shí),分頁(yè)才有意義) |
|
響應(yīng)的調(diào)試部分的快捷方式,如果調(diào)試不在,則為null。這對(duì)于使用 |
|
呈現(xiàn)布局( |
[自定義工具] |
由 VelocityResponseWriter 注冊(cè)的可選“工具”列表提供的工具可通過指定的名稱獲得。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: