#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}» — (добавлено «»)