Движок шаблонов Play Framework 2.0 определяет переменные для записи

Я использую механизм шаблонов play framework на основе scala. Контроллер написан на Java.

Есть ли способ определить встроенную записываемую переменную?

Я только что нашел это в документации:

@defining(user.getFirstName() + " " + user.getLastName()) {
    <div>Hello @fullName</div>
}

Но это только создает переменную только для чтения.

Изменить: я использую цикл на своей html-странице:

@for(variable <- variables) {

Такой цикл не дает мне индексную переменную. Мне нужен этот индекс, чтобы давать разные результаты для первого цикла и всех остальных. Надеюсь это понятно?

Поэтому я просто подумал, что могу создать индексную переменную вне цикла и увеличивать ее в каждом цикле.

У кого-нибудь есть идея? Спасибо


person Jurek    schedule 19.07.2012    source источник
comment
Пожалуйста, напишите немного больше, чего вы хотите достичь, возможно, я могу предложить вам какое-то другое решение, но мне нужно знать больше. В общем, ИМХО, работать с переменными на уровне движка шаблонов не очень хорошая идея. С другой стороны, Play предоставляет несколько хороших помощников (PS также напишите, если вы используете версию Java или Scala для своих контроллеров).   -  person biesior    schedule 19.07.2012
comment
Я просто редактирую свой пост. Надеюсь, теперь все ясно.   -  person Jurek    schedule 19.07.2012


Ответы (2)


Пытаться:

@for(for(i <- 0 to list.size-1) {
   @list(i)
}

или просто:

@for(i <- list.indices) {
    @list(i)
}

(совет от группы Google)

person biesior    schedule 19.07.2012

Я думаю, что zipWithIndex - это то, что вам нужно:

@variables.zipWithIndex.map { case (variable,index) => <h1>@variable</h1>}
person maxmc    schedule 19.07.2012