Управление состоянием с помощью scalatra

Я понимаю, что Scalatra — легковесный фреймворк. Однако мне интересно, есть ли какие-нибудь хитрости для управления небольшими объемами состояния. У меня есть форма с текстовым полем и несколькими флажками. Например, предположим, что текстовая область содержит математическое уравнение и флажки некоторых дополнительных опций. Когда я отправляю (метод = POST), я хотел бы отобразить результат под формой, но сохранить те же параметры (тот же текст в текстовой области, те же флажки).

Есть ли хороший способ сделать это? Или мне нужно вручную установить значения при создании HTML? В настоящее время я генерирую HTML с помощью Jade.


person schmmd    schedule 28.09.2011    source источник


Ответы (1)


Сделайте это на стороне сервера с ресурсом, возвращающим JSON, и вызовите его динамически, используя JavaScript XHR.

Государство не нужно! Уходи, Злое Государство!

ИЗМЕНИТЬ

~Еще немного пояснений~

  1. Вы создаете веб-службу, которая принимает параметр вычисления в качестве входных данных (используя ?= в URL-адресе с помощью GET или лучше используя полезную нагрузку JSON с POST), затем служба выполняет вычисления и возвращает представление результата в формате JSON.

  2. Вы вызываете этот веб-сервис scalatra с помощью AJAX из своего веб-приложения и обновляете содержимое веб-страницы, используя результат JSON, возвращаемый веб-сервером.

Если вы еще мало знаете об AJAX, прочитайте учебные пособия, и я думаю, вы лучше поймете, что я имею в виду. Вы также можете искать, например, ресурс Scalatra, который возвращает представление JSON (используя lift-json, т.е.)

В качестве примечания вы можете взглянуть на Bowler: http://www.bowlerframework.org, которые упрощают разработку REST на scalatra.

person Alois Cochard    schedule 28.09.2011
comment
Я был бы счастлив принять этот ответ, если бы понял его лучше... Например, что именно вы подразумеваете под ресурсом на стороне сервера? Пожалуйста, простите мое невежество. - person schmmd; 28.09.2011
comment
Очень полезно, спасибо. Я постоянно поражаюсь тому, насколько сложна веб-разработка. - person schmmd; 30.09.2011
comment
@schmmd когда вы думаете о том, что на самом деле означает быть веб-приложением, вы видите, что это очень просто. Отличный ответ - person grinch; 23.04.2013