繁体   English   中英

为ES转换grails gsp中的引号

[英]escaping quotes in grails gsp for es

嗨,大家好,我试图在我的gsp搜索查询中转义双引号,到目前为止,该查询已传递给elasticsearch:

<input id="q" name="q" type="text" class="large" value="${params?.q?.encodeAsHTML()}" ..

但是,当我进入webapps搜索字段并使用诸如“ abc”之类的查询时,我的日志文件中出现大量异常,主要是:

 org.apache.lucene.queryParser.ParseException: Cannot parse '("abc) AND recstatus:"public"': Lexical error at line 1, column 30.  Encountered: <EOF> after : ""

2013-03-01 11:35:06,874 [New I/O  worker #3] DEBUG search.type  - [Helleyes] [some_index][3], node[BZH5bHO8RX2va-HVpTDEng], [P], s[STARTED]: Failed to execute 
[org.elasticsearch.action.search.SearchRequest@2f6a3595]
org.elasticsearch.transport.RemoteTransportException: [Lasher][inet[/xxx.xxx.x.xxx:9300]][search/phase/query]
Caused by: org.elasticsearch.search.SearchParseException: [some_index][3]: from[0],size[20]: Parse Failure [Failed to parse source [:)
^E򃦲om@0<83>sizeA20<84>query򋱵ery_string򂜨"abc) AND recstatus:"public"<8f>analyze_wildcard#󻅦ields䴩tle񻀁]]

等。有什么建议吗?

发现了问题...

在config.groovy中设置了一个标志:

grails.views.default.codec = "none"

这会覆盖gsp页面中的所有代码。

您可以将此标志设置为:

grails.views.default.codec = "html"

或覆盖单个gsp文件。

或者最好使用Grails 2.3+ http://mrhaki.blogspot.com.es/2013/11/grails-goodness-generating-raw-output.html ;)中的raw()方法

<li${raw(' class="active"')}/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM