У меня есть следующий код JQuery, который отправляет некоторые параметры запроса моему контроллеру Spring MVC. Для некоторых параметров я должен получить несколько значений.Как отправить строку [] на контроллер пружины?
$('#tb-email').click(function(event) {
var base, data, formats, recipients, reportSource, reportSourceType;
if ($(this).parent('li').hasClass('disabled')) {
return false;
}
base = "<base href=\"" + window.location.protocol + "//" + window.location.host + window.DashboardGlobals.baseUrl + "\">";
data = $('html').clone().find('script').remove().end().find('nav').remove().end().find('#dashboardCanvas').removeClass('dashboardCanvas').end().find('head').prepend(base).end().html();
data = encodeURIComponent(Base64.encode('<html>' + data + '</html>'));
$.post(window.DashboardGlobals.sendMail, {
formats: ['png', 'pdf'],
recipients: ['[email protected]', '[email protected]'],
reportSource: data, //Base64 data
reportSourceType: 'adhoc',
reportName: 'DataQualityApp'
});
event.preventDefault();
});
Когда tb-email
нажата, запрос передается в какой-то контроллер, который сохраняется в переменной DashboardGlobals
.
На стороне сервера я написал следующий код Java, чтобы получить несколько значений для форматов параметров и получателей.
public @ResponseBody String process(@RequestParam("formats") String[] formats, @RequestParam("recipients") String[] recipients, @RequestParam("reportSource") String reportSource, @RequestParam("reportSourceType") String reportSourceType, HttpServletRequest request) {
...Some Processing....
return null;
}
Я проверил длину formats
и recipients
которое 1.
Я даже пытался получить значения, используя
String[] formats = request.getParameterValues("formats");
String[] recipients = request.getParameterValues("recipients");
Тем не менее я получаю отдельные значения в массиве. Длина по-прежнему одна?
Что происходит не так?
вы пробовали проверить значение 'formats', если он содержит массив. –
использовать данные: 'JSON.stringify (yourarray)', тогда в контроллере используйте 'JSONArray' не' String [] '. –
@Kerppag Он состоит из одного значения – phoenix