2015-06-30 5 views
0

Я пытаюсь получить значения в выпадающем списке на основе предыдущего значения, выбранного из другого раскрывающегося списка. Я могу позвонить в класс Java из сервлета и значения возвращаются в сервлет, но не получает передается на Jsp страницуПередача значений сервлета на страницу jsp

страница JSP часть (index.jsp)

<select id="region" name="region" class="form-control" onchange="getgroups()" required="required" > 
<option value="" default selected>Select region</option> 
<option value="region1">region1</option> 
<option value="region2">region2</option> 
<option value="region3">region3</option> 
<option value="region4">region4</option></select> 

OnChange значение в регионе вызывает эту функцию

function getgroups(){ 

var j = document.getElementById("region"); 
var s = document.getElementById("secret_key"); 
var a = document.getElementById("access_key"); 

    var output = $.ajax({ 
    type: 'POST', 
    url: 'http://localhost:8066/VMMigratorNew/ec2util', 
    data: {"region":j.value, 
      "secret_key":s.value, 
      "access_key":a.value, 
      }, 
    success: function(response) { 
     return output.responseText; 
    } 

}); 

} 

и в сервлет

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     String region = request.getParameter("region"); 
     String secretKey = request.getParameter("secret_key"); 
     String accessKey = request.getParameter("access_key"); 




      List<String> vpcs = RunEc2Command.getVPCForUSer(AWS_ACCESS_KEY, AWS_SECRET_KEY, region); 

      if(vpcs != null && vpcs.size() > 0) { 
           request.setAttribute("vpclist", vpcs); 
      } 

     request.getRequestDispatcher("/index.jsp").forward(request, response); 
    } 
} 

и в то же index.jsp, я пытаюсь показать значения списка в раскрывающемся списке, которое находится в самом index.jsp.

Мне нужно получить значение VPC в окне Drop Dron после выбора значения из раскрывающегося списка области. Спасибо за помощь заранее.

+0

У вас есть конечный '-%>' в вашем JSP. И обратный вызов AJAX ничего не делает с ответом, который он получает. Он должен заменить существующее поле выбора тем, которое было получено в ответе. –

+0

Я удалил этот трейлинг. Он все еще не работает. – daivik

+0

Определите «не работает» точно. Что вы ожидаете, и что происходит вместо этого? –

ответ

0

В настоящее время рабочий процесс в вашем сервлете подходит для синхронного запроса, который требует, чтобы сервлет возвращал весь HTML в ответе HTTP для визуализации браузера. Однако мне кажется, что ваше намерение заключается не в том, чтобы запросить сервлет, чтобы получить список VPC, а вы пытаетесь выполнить запрос асинхронно с помощью AJAX.

Следовательно, мое предложение состояло в том, чтобы позволить сервлету вернуть список VPC в некотором формате (например, JSON). В обратном вызове success вы должны изменить DOM, чтобы вставить список, который вы получили.

+0

Я не знаю JSON. Можете ли вы показать мне, как это можно сделать. – daivik

+0

Вам нужно построить представление JSON списка (используя, например, стандартный JEE JSON API), и использовать объект 'response' для отправки такого JSON в браузер. –

+0

Как получить доступ к массиву JSON на странице jsp и поместить в выпадающее поле – daivik

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