Как вызвать метод java из jsp, когда щелкает элемент html? - PullRequest
4 голосов
/ 05 февраля 2009

Как говорит заголовок, как я могу вызвать метод класса java из jsp, когда щелкает определенный элемент (например, якорь)? (Без перезагрузки страницы)

Если это можно сделать, как я передаю метод, какая-то часть HTML-кода страницы, которая его вызывает?

Я использую jsp, servlets, javascript, struts2 и java поверх Jboss AS.

Ответы [ 4 ]

3 голосов
/ 05 февраля 2009

То, что вы хотите сделать, - это запускать Javascript-запрос AJAX при нажатии на указанный элемент. Этот AJAX-запрос отправляется на сервер, который затем может вызвать любой код Java, который вы хотите.

Теперь вы можете создать все это самостоятельно или использовать одно из множества готовых решений. Я бы порекомендовал Googling для библиотеки тегов JSP Ajax. Как этот http://ajaxtags.sourceforge.net/.

2 голосов
/ 05 февраля 2009

Как заметил Марко , вам может понадобиться прочитать еще немного о разделении клиент-сервер в веб-программировании. Если вы хотите, чтобы инфраструктура помогла вам сделать удаленный вызов Java из Javascript, взгляните на DWR .

1 голос
/ 06 марта 2013

Вы можете использовать Ajax-вызов для этого. Теперь при нажатии на объект HTML вызывать java-скрипт. Затем в JavaScript сделайте Ajax-вызов сервлета примерно так:

    $.get("Query?ID="+id ,function(RespValue) 
         {


}

Здесь Query - мое отображение сервлета, определенное в web.xml, а Id - параметр, который я передаю, вы также можете отправить несколько параметров. RespValue - значение ответа, возвращаемое сервлетом. В servelt напишите метод do Get и выполните ваш код Java. Если вы хотите вернуть какое-либо значение, используйте функцию (RespValue), иначе удалите его.

0 голосов
/ 05 февраля 2009

Невозможно выполнить Java-код на стороне сервера в клиентском браузере.

Что вы можете сделать, это выполнить новый http-запрос, который выполнит какое-либо действие на сервере и вернет результат действия.

Учитывая тон вопроса, лучше прочитайте учебник по JSP. Ни один ответ на форуме не объяснит это лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...