Я начинаю с Lift и читаю несколько учебников и книг, которые доступны онлайн.Исходя из JSP (или GWT) фона, это огромный скачок, тем более что я все еще изучаю Scala.
В любом случае ... Я создал базовый сайт, загрузив материал lift tar.gzс их сайта, скопировал каталог lift_blank "и переименовал его в" test ". Сделал всю вещь" sbt update ~ jetty-run "и т. д. и т. д.
Что я хочу сделать, это изменить" index.html "«на странице просто есть текстовое поле для ввода и кнопка с надписью« поиск ». Основная идея: вы вводите свое имя, нажимаете« Поиск », выполняется запрос к базе данных для поиска записей с именем« что-вы-вошли в текстовое поле ", а затем результаты форматируются и отображаются на веб-странице; после обновления страницы текстовое поле должно также содержать введенное имя. Вы вводите другоеимя, нажмите «поиск», и новые результаты отображаются на странице. Первоначально (при первом посещении страницы) результаты, конечно, пустые. Простые вещи ...
Однако примеры, которые я имеювсе видятn использовать формы html и POST и т. д .;Мне это очень не нравится, например, пользователи теряют сознание при обновлении страницы и получают всплывающее окно Firefox "Чтобы отобразить эту страницу, Iceweasel должен отправить информацию, которая будет повторять любое действие (например, поиск или подтверждение заказа), которое было выполнено ранее.«... страница также обновлена, чего я хотел бы избежать.
Раньше, когда я собирал это в JSP, я использовал весь javascript;никаких тегов "form" или чего-либо еще, просто простое поле с событиями javascript для нажатия клавиши ввода или нажатия кнопки "..." события, которые направляются в основную функцию javascript "onQuery", которая затем создает запрос AJAX;когда результат возвращается с сервера, javascript изменяет элемент «div» обертки, изменяя значение «innerHTML» и т. д. Здесь приятно то, что страница не обновляется, а только в небольшом подразделе «table "(на самом деле div), который содержит результаты.
Как бы я воссоздал очень похожую вещь в Lift?Я как бы потерялся здесь.В последние несколько дней я следовал нескольким примерам, но все они снова используют POST / формы.Я могу обрабатывать запросы к базе данных Scala и понимаю, как работают шаблоны Lift, это просто фрагмент кода / кометы, на котором я мог бы использовать несколько указателей.