Кто-нибудь реализовал систему stackoveflow/digg как систему голосования с использованием технологии JSP/Servlet/Java? Если да, то можете ли вы перенаправить меня на книги или онлайн-материал? Также, если есть уже некоторые плагины для целей исследования?Система стиля голосования с использованием технологии Jsp/Servlet
ответ
Главным ключевым словам является 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
. Один из них может быть вам полезен.
Надеюсь, это поможет.
Большое спасибо, это помогло мне начать работу с тем, что я хочу. Я хотел проголосовать за вас, но не могу, поскольку у меня нет достаточного количества кредитов ... –