2016-04-17 7 views
0

Я новичок в Java EE. В моем приложении у меня есть страница HTML, содержащая текстовую область, заполненную некоторой информацией. У меня также есть форма для пользователя. Когда он отправляет форму, я использую сервлет для обработки информации. Наконец, мне нужно перенаправить результат из сервлета на ту же страницу HTML и обновить его в существующем текстовом поле. Я сделал создание HTML-страницы, отправил форму сервлету. Я теперь зациклился на том, как получить доступ к текстовой области на странице HTML, чтобы обновить мой результат.Получить HTML-элемент, используя JSP

Я много гугл, но везде люди перенаправляют результат сервлета на страницу JSP и создают новую HTML-страницу, используя «вне» объект.

Мне нужно использовать ту же текстовую область моей HTML-страницы, чтобы обновить результат. Пожалуйста, помогите мне в достижении этого.

Заранее спасибо.

+0

Полезно ли это для начала и понимания основных концепций для того, что вы в конечном итоге пытаетесь достичь? http://stackoverflow.com/q/4112686 – BalusC

ответ

0

Существует два способа сделать это.

Отверстие на стороне сервера. Вы можете повторно рисовать всю страницу с обычной формой submit. В этом случае вы помещаете что-то в область request в сервлет, а затем получаете доступ к этому в JSP при рисовании текстового поля. Обратите внимание, что вы не получаете доступ к текстовому ядру HTML в JSP - JSP запускает код на стороне сервера для генерации разметки HTML, но вы не обращаетесь непосредственно к DOM браузера.

Это может выглядеть следующим образом:

  • сервлет: request.setAttribute("textareaContent", varWithTextareaContent)
  • JSP: <textarea>${textareaContent}</textarea>

стороне клиента рендеринга Вместо этого вы могли бы сделать запрос пост AJAX с JQuery (есть некоторые плагины, чтобы помочь с этим). В этом случае ваш сервлет не будет пересылать JSP для рендеринга HTML - он будет напрямую возвращать объект JSON, такой как {"textareaContent": ...}, и вы будете обрабатывать эту клиентскую сторону в обратном вызове AJAX. В этом случае вы получите : получите доступ к текстовой области в браузере DOM напрямую, в Javascript (не JSP).

+0

Я предпочитаю использовать первый подход. Но разве у нас нет чего-то в JSP, а getElelmentById на текущей странице и обновлять его содержимое. – user4582135

+0

Нет. 'GetElementById' будет применяться, если вы обновляете содержимое страницы на стороне клиента. Когда вы создаете серверную часть в JSP, вы создаете новые элементы HTML DOM (обычно целую страницу), не обновляя существующие. – wrschneider

Смежные вопросы