#javascript #arrays #spring #date #spring-mvc
#javascript #массивы #весна #Дата #spring-mvc
Вопрос:
У меня есть веб-приложение Spring Web MVC, где мне нужно получить массив JavaScript, заполненный java.util.Даты, которые хранятся в ArrayList, доступны из веб-приложения с ${cust.dates}
помощью . Как мне правильно инициализировать массив в веб-приложении?
Спасибо.
Комментарии:
1. Массив JavaScript , заполненный java.util . Даты?
2. Ну, естественно, java.util. Даты должны быть преобразованы в даты JS.
3. Как мне использовать преобразование java.util. Дата на дату Javascript? Вы имеете в виду какое-то текстовое представление, которое Javascript умеет читать?
4. Я прочитал заголовок перед вопросом и подумал: «Просто проверьте, является ли месяц мартом, апрелем или маем… что может быть проще?»
5. @николас. хаушильд Точно, полезное текстовое представление.
var array = new Array(${cust.dates});
просто дает мне массив символов дат в непригодном для использования формате.
Ответ №1:
Spring выполняется на стороне сервера, а JavaScript выполняется на стороне клиента. С точки зрения Spring, JavaScript — это просто текст, который необходимо сгенерировать. И этот текст должен представлять действительный исходный код JavaScript.
Таким образом, исходный код JavaScript, который создает массив дат, может быть сгенерирован следующим образом:
var dateArray = [];
<c:forEach var="javaDate" items="${cust.dates}">
dateArray.push(new Date(${javaDate.time}));
</c:forEach>
Это сгенерирует следующий код JavaScript:
var dateArray = [];
dateArray.push(new Date(65987985);
dateArray.push(new Date(98654654);
// ...
с числовыми аргументами, представляющими собой количество миллисекунд с момента начала эпохи, что одинаково в Java и JavaScript.