Как отформатировать значение массива из Javascript в сервлет Java с помощью Ajax - PullRequest
0 голосов
/ 15 октября 2018

Мне нужна ваша помощь.

У меня есть этот массив, передаваемый из Javascript в Java Servlet с использованием AJAX.

Код Javascript и AJAX:

var BuildingNo = [];

$(xml).find('BUILDING').each(function(){
    BuildingNo.push($.trim(this).children('BuildingNo').text());
}

Значение BuildingNo перед передачей сервлету Java.

alert(BuildingNo);
// 00101,00102,00103,00104,00105 

Значение JSON.stringify (BuildingNo), когдаЯ передал BuildingNo через Ajax сервлету Java.

data: { BuildingNo : JSON.stringify(BuildingNo) },

alert(JSON.stringify(BuildingNo));
// ["00101","00102","00103","00104","00105"] 

Вот фрагмент кода Java-сервлета, который я использую для передачи BuildingNo в список oldBuilding.

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

List <String> oldBuildingList = Arrays.asList(request.getParameter("BuildingNo");

logger.info(oldBuildingList);

// [["00101","00102","00103","00104","00105"]] -- This is a wrong format.

//I have a Java code here which captures a new list of BuildingNo from another service.

List <String> newBuildingList = new ArrayList <String>();
logger.info(newBuildingList.toString());

// [00106,00107,00108,00109,00110] -- This should be the correct format of oldBuildingList.

}

Как получитьтот же формат newBuildingList, используя oldBuildingList?

1 Ответ

0 голосов
/ 15 октября 2018

Не переводите в строку, просто сохраняйте как data: { BuildingNo : BuildingNo }

и в сервлете Java List <String> oldBuildingList = Arrays.asList(request.getParameterValues("BuildingNo[]");

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