我有多个域对象,并且有一对多、多对多的关系,搜索数据来自几个表,而且总是相同的。我在我的应用程序中实现了 Searchable 插件,并且当我有这样的单个搜索字段时能够检索结果:
<g:form url='[controller: "searchable", action: "searchContact"]' id="searchableForm" name="searchableForm" method="get">
<g:textField name="query" value="${params.query}" size="40"/>
<input type="submit" value="Search Contact" />
</g:form>.
但我有多个文本字段、复选框和 g:select 框来获取 searchTerm。基于任何一个字段或多个搜索选择,我必须获得搜索结果。如何在两者之间包含所有搜索字段,并为所有参数提供一个提交按钮。这是我的搜索操作代码:
def searchContact = {
if (!params.query) {
return [:]
}
try {
String searchTerm = params.query
println searchTerm
return [searchResult: searchableService.search(searchTerm, params)]
} catch (SearchEngineQueryParseException ex) {
return [parseException: true]
}
}
快速的建议表示赞赏。