Как присвоить или инициализировать массив Java массиву Javascript, не используя JSP?

#java #javascript #playframework

#java #javascript #игровая рамка #playframework

Вопрос:

Я работаю в Play Framework, и мне нужно использовать Java array внутри Javascript.

Я попробовал следующее —

 var jsarray = ${javaArray};
  

Где javaArray — массив в контроллере Java, отображаемый в HTML-представлении.

Но это не работает. Кто-нибудь, пожалуйста, может мне помочь в этом?

Ответ №1:

Не забывайте, что вы не передаете переменные… Вы пишете код javascript

Итак, вам нужно сделать так, чтобы ваш массив отображался красиво для Javascript

 var jsArray = [%{javaArray.eachWithIndex{it,idx->
                 }%
                 ${it}${(idx<javaArray.size()-1)?",":""}
                 %{
                 }
                 }%]
  

Используйте что-то, что подходит вашему движку шаблонов. Вы должны выполнить итерацию по вашему массиву, а затем распечатать значения в представлении

PS: Я использовал Groovy нотацию…

Комментарии:

1. Я не знаю, сделает ли Play / Scala это автоматически с помощью . каждая функция, но вам нужно разделять запятыми каждое значение массива.

2. Я редактировал сообщение, чтобы сказать это… Вы должны проверить конец массива, чтобы не добавлять последнюю запятую спасибо, что заметили 🙂

3. Большое спасибо… У меня это сработало… Поскольку я использую массив строк, мне нужно изменить приведенное выше значение как «$ {it}» — (добавлено «»)