我想爲我的Grails Web應用程序創建一個搜索,但是我無法獲得我想要的結果。我目前正在使用Grails 3.0.11,根據一篇文章,可搜索插件已過時,但我無法使elasticsearch插件也能正常工作。我決定嘗試使用findAllByTitle(「%test%」),我認爲它會工作,但我不知道我做錯了什麼。Grails:findAllByTitle()作爲搜索功能?
某個標題被保存到本地數據庫,當在我的視圖中搜索時,我希望它顯示保存的標題列表,例如,如果我輸入T,它將顯示「Test1」,「Test2」,並且「Test3的」。我也嘗試過沒有運氣的executeQuery()。
Title.groovy
class Titles {
byte[] branchImage
String branchTitle
static constraints = {
branchImage(maxSize: 10 * 1024 * 1024)
}
static mapping = {
}
}
TitleController.groovy
class TitleController {
def search(){
def results = Title.findAllByBranchTitleIlike("%Test%")
[results:results]
}
}
main.gsp
<body>
<div class="header-search">
<g:form action="search">
<g:textField name="search" class="search-field" value="search"/>
<button type="submit" class="search-submit"><i class="fa fa-search fa-lg"></i></button>
</g:form>
</div>
</body>
的search.gsp
<body>
<g:each var="r" in="${results}">
<li>${r.branchTitle}</li>
</g:each>
</body>
感謝您的回覆快有一個錯字。我提出了您的建議更改,但仍然無法實現。 – Tyler
我搜索標題後,當我重定向到titles/search.gsp時,我的search.gsp未呈現保存到本地數據庫的任何標題。他們確實存在並保存正確,但我無法呈現我搜索的標題 – Tyler
您現在的控制器代碼是什麼?如果它仍然添加模型變量結果,請嘗試在您的gsp(任何位置)中插入$ {results}並查看打印結果。 – BhathiyaW