Я думаю, что причина, по которой вы, вероятно, не нашли ничего особенного в Апплетах и Rails, заключается в том, что они функционируют немного на разных уровнях и на самом деле не зависят друг от друга. Похоже, что Роб пытался прояснить некоторые вещи, поэтому я сделаю еще один шаг, чтобы убедиться, что мы все на одной странице.
Работа Rails заключается в том, чтобы генерировать и обслуживать HTML / XML / Javascript / изображения через веб-сервер для веб-браузера пользователя для рендеринга. Частью этого HTML будет тег APPLET (или, возможно, OBJECT), который инструктирует браузер загрузить апплет. Обычно это инструктирует браузер вызывать плагин Java и позволяет ему обрабатывать загрузку апплета. Однако после загрузки и запуска, даже несмотря на то, что апплет отображается на текущей веб-странице в браузере (или, может быть, даже в другом окне), он действительно не очень осведомлен о веб-странице, в которой он находится. По большей части апплетам нет дела до браузера или страницы, частью которой они являются. Поэтому, если апплет нуждается в дополнительной информации или запрашивает данные, он обычно просто отправляет HTTP-запрос на сервер, с которого он пришел. Затем он проанализирует данные и обновит себя.
Я предполагаю, что вам, вероятно, нужно, чтобы что-то было щелкнуто или введено в апплет, и чтобы эти данные использовались для обновления веб-страницы, которую Rails передает браузеру. С апплетом у вас есть 2 варианта:
- Используйте приложение веб-сервера для обмена информацией о состоянии
- Использование связи Java-Javascript с использованием JSObject, как указано в http://java.sun.com/products/plugin/1.3/docs/jsobject.html
Честно говоря, вариант № 2 имеет так много предостережений, что я бы никогда не использовал его, если бы у вас не было полного контроля над версиями браузера и Java во всех системах потенциальных пользователей. Даже тогда я был бы обеспокоен обновлением чего-то, что могло бы его сломать.
В основном, вариант номер 1 оставляет вам апплет и Javascript / HTML, периодически опрашивающий веб-сервер (Rails), чтобы увидеть, есть ли какие-либо обновления или запросы, на которые они должны ответить для обмена данными. Если апплет обновляется пользователем, он отправляет сообщение на веб-сервер с помощью запроса / публикации URL-адреса, и следующий запрос (вероятно, с помощью AJAX-подобного вызова) веб-страницы увидит новые данные, а веб-страница обновиться этим.
Надеюсь, это поможет.