2009-11-10 2 views
0

Кто-нибудь реализовал систему stackoveflow/digg как систему голосования с использованием технологии JSP/Servlet/Java? Если да, то можете ли вы перенаправить меня на книги или онлайн-материал? Также, если есть уже некоторые плагины для целей исследования?Система стиля голосования с использованием технологии Jsp/Servlet

ответ

2

Главным ключевым словам является Ajax. В основном это сводится к тому, что код Javascript запускает асинхронный запрос (запрос в «фоновом режиме», чтобы клиент не видел «флэш-контента») на стороне сервера и, в конце концов, перемещал/менял элементы в дереве HTML DOM (который доступен через объект document в Javascript) после получения ответа.

Для начала прикрепите некоторые функции JS к событию click элементов, представляющих кнопки вверх и вниз. Пусть эти функции JS запускают асинхронный запрос на сервер с идентификатором сообщения и статусом голосования (вверх или вниз) и соответственно изменяют элемент, представляющий число, путем перемещения HTML DOM. Это в основном все.

Чтобы избежать болей в отношении конкретного поведения браузера, лучше всего принять тщательно разработанную и поддерживаемую стороннюю структуру Javascript с такими же мощностями, как jQuery.

Вы просто используете JSP/Servlet дальше обычным способом: JSP как технология просмотра/шаблона можно просто использовать для записи необходимого HTML/CSS/JS, а выход можно динамически контролировать с помощью taglib (таких как JSTL) и EL. Сервлет как контроллер запроса/ответа может использоваться только для управления запросами и в конечном итоге выполнять действия, зависящие от конкретного запроса. Не только для страниц JSP, но и для адиаксических запросов. Я рекомендую использовать Gson в сервлете, чтобы иметь возможность отправлять и/или принимать строки JSON, чтобы Javascript мог обрабатывать его дальше без каких-либо преобразований.

На сайте jQuery вы можете найти множество плагинов «4-й стороны». Here вы можете найти все плагины, соответствующие ключевому слову vote. Один из них может быть вам полезен.

Надеюсь, это поможет.

+0

Большое спасибо, это помогло мне начать работу с тем, что я хочу. Я хотел проголосовать за вас, но не могу, поскольку у меня нет достаточного количества кредитов ... –