Для этого вы можете использовать jQuery. В jQuery у вас есть отличный плагин form, который ненавязчиво изменяет существующую форму в ajaxform.
HTML (в JSP):
<form id="myform" action="myservlet" method="post">
<input type="text" name="foo">
<input type="submit">
</form>
<div id="message">${message}</div>
JS ((в) непосредственно в JSP):
$('#myform').ajaxForm({
success: function(message) { $('#message').text(message); }
});
Java ((в) непосредственно в doPost()
метод сервлета за myservlet
):
String foo = request.getParameter("foo");
String message = "You entered 'bar': " + ("bar".equals(foo) ? "yes" : "no");
if ("XMLHttpRequest".equals(request.getHeader("x-requested-with"))) {
// Ajax request.
response.getWriter().write(message);
} else {
// Normal request.
request.setAttribute("message", message);
request.getRequestDispatcher("page.jsp").forward(request, response);
}
Если вы хотите, чтобы получить какие-то шаги дальше, вы можете использовать Gson в сервлете, чтобы преобразовать полные объекты Java в нотацию объектов Javascript (JSON). Таким образом, вы можете получить доступ к данным javabean-like в Javascript.
Мое приложение - основное приложение для Java. Я хочу отправить форму, написав код Java. Но часть содержимого страницы проходит через Ajax. Я хочу эти данные. Как я могу это сделать с GWT? – Rites
«Асинхронный Javascript» лучше всего выполняется с помощью javascript. Это простой инструмент для обучения функционально, особенно с помощью библиотеки, например Prototype или jQuery. – arbales