"country" etki alanım var ve list.gsp üzerinde giriş alanı olan bir arama bloğum var. İlk sorun, listemde paginate kullanmayı denediğimde her zaman tüm sonuçları gösterdim, bu durumda çözümü aldım ve ekran için sadece 10 değer yolladım (eğer başka bir çözüm biliyorsanız lütfen bana söyleyin). Arama bu görünür: i arama alanı temizlik ve sonuç null dan sonra benim params sonraki sayfayı bastığınızda arama sonuçlarının sayfalarına ayrışması
def search = {
if(query){
def srchResults = searchableService.search(query, params)
def result = Country.executeQuery("select new map(a.name as name, a.datacenter as datacenter) from Country a where a.name like '%"+ params.q + "%'")
if (params.offset)
{
x = params.offset.toInteger()
y = Math.min(params.offset.toInteger()+9, result.size()-1)
} else
{
x = 0
size = result.size() - 1
y = Math.min(size, 9)
}
def q=params.q
[countryInstanceList: result.getAt(x .. y), countryInstanceTotal:result.size(), q:params.q]
}else{
redirect(action: "list")
}
}
Şimdi ben, başka bir sorun var. Alan değerini parametre olarak göndermeye çalıştım ama yanlış bir şey yapıyorum.
<g:form action="search">
<div class="search" >
Search Country
<g:hiddenField name="q" value="${params.q}" />
<input type="text" name="q" value="${params.q}" />
<input type="submit" value="Search"/>
</div>
</g:form>
...... ......
Emmmm, neden arama motorunu kullanıyorsunuz ve daha sonra HQL sorgusu kullanıyorsunuz? –