Отправка нескольких параметров сервлетам из JSP или HTML - PullRequest
1 голос
/ 14 мая 2011

Мне нужно отправить определенные параметры сервлету со страницы JSP. Например: если я нажму на значок Facebook на веб-странице, то я должен отправить «facebook» в качестве параметра для моего сервлета, и мой сервлет ответит в соответствии с параметром, полученным из файла JSP или файла HTML.

Ответы [ 3 ]

4 голосов
/ 14 мая 2011

Это очень открытый вопрос, но самый простой способ - указать параметры в строке запроса.

Если у вас есть следующий сервлет:

/ MySite / messageServlet

Затем вы можете отправить его параметры, используя строку запроса, например:

/ MySite / messageServlet? Param1 = значение1 & param2 = значение2

Внутри сервлета вы можете проверить параметры вашего request, используя getParameter(name), если вам известны имена или getParameterNames(). Это немного сложнее, особенно с учетом кодирования URL и статического размещения этих ссылок, но это поможет вам начать.

String message = request.getParameter("message");
if ("facebook".equals(message))
{
    // do something
}

Хранение ссылок с несколькими параметрами в строке запроса требует кодирования URL-адреса для HTML, поскольку "&" является зарезервированной сущностью HTML.

<a href="/servlets/messageServlet?param1=value&amp;param2=value2">Send Messages</a>

Обратите внимание, что & равно &amp;.

3 голосов
/ 14 мая 2011

Просто оберните значок в ссылку строкой запроса, например,

<a href="servleturl?name=facebook"><img src="facebook.png" /></a>

В методе doGet() сервлета просто получите и обработайте его следующим образом

String name = request.getParameter("name");

if ("facebook".equals(name)) {
    // Do your specific thing here.
}

Смотри также:

2 голосов
/ 15 мая 2011

Один из способов - создать на странице jsp скрытые переменные формы, которые заполняются при нажатии.

<form action="post" ....>
<input type="hidden" id="hiddenVar" value="">
<a hfref="#" onclick="doSomething();">Facebook</a>
</form>
<script>
      function doSomething() {
              var hiddenVar= document.getElementById('hiddenVar');
              hiddenVar.value = "facebook";
              form.submit();

      }
 </script>

Это дает вам гибкость в динамическом управлении тем, что передается вашему сервлету, без необходимости вставлять URL в ваш href

...