Механизм поиска Грааля - PullRequest
0 голосов
/ 16 мая 2011

У меня есть следующая страница gsp:

 <g:form controller="??" action="??">
    <h1>Search</h1>
    <g:submitButton name="search" value="Search"/>

    <div id="resultsHere">

    </div>

    </g:form>

Что я хочу сделать, так это то, что при каждом нажатии «Поиск» база данных ищет эту запись, давайте представим, что я ищу названия книг. Поэтому каждый раз, когда я пишу заголовок, база данных находит книги и печатает все данные, связанные с книгами. Как я могу это сделать =?

Моя идея заключается в том, чтобы что-то похожее на это в div:

<ul>
<g:each in="${bookList}">
  <li>Name: ${it.name}, Locale: ${it.isbn}</li>
</g:each>
</ul>

Таким образом, при нажатии кнопки поиска контроллер, обрабатывающий это действие, должен перенаправить страницу на ту же страницу и передать отфильтрованный список книг, чтобы его можно было распечатать в теге <g:each in="${bookList}">.

Мне бы хотелось, чтобы мнения о том, что это лучшее решение в этом случае. Я мог бы также визуализировать результаты на странице напрямую, но я хотел бы сделать некоторые CSS для просмотра, поэтому я думаю, что это не будет хорошей идеей с использованием рендера. Любая помощь будет оценена, и, если возможно, некоторые огни с кодом (особенно фильтрующая часть).

1 Ответ

0 голосов
/ 16 мая 2011

Я бы выполнил одно действие в вашем контроллере и вывел бы список.

то есть: как псевдокод (и не полный)

BookController {
  def search = {SearchComamnd search ->

    def books = []
    if(search) {
      books = Book.createCritera().list {
        and { 
          title(search.title)
          author(search.title)
        }
      }
    }

    render [ books:books ]
  }

  class SearchCommand {
    def author
    def title
  }
}

а затем, когда на ваш взгляд

<g:form controller="??" action="??">
    <h1>Search</h1>
    <g:submitButton name="search" value="Search"/>

</g:form>
<g:each in="${books}">
  <li class="book">Name: ${it.name}, Locale: ${it.isbn}</li>
</g:each>

Теперь вы можете использовать css li.book для оформления записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...