2012-07-19 29 views
3

我正在使用基於scala的play框架模板引擎。 控制器是用Java編寫的。Play Framework 2.0模板引擎定義writabel變量

有沒有辦法定義一個內聯可寫變量?

我剛剛發現這個在文檔:

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

但這隻能創建一個只讀變量。

編輯: 我在我的html頁面使用一個循環:

@for(variable <- variables) { 

這種循環這麼想的的給我一個索引變量。 我需要這個索引給第一個循環和所有其他的輸出。 希望這是明確的?

所以我只是想我可以在循環外創建一個索引變量,並在每個循環中增加它。

有沒有人有想法? 感謝

+0

請寫一點更多 你想達到什麼目的,也許我可以建議你一些其他的解決方案,但我需要知道更多。一般來說,在模板引擎級別上使用變量的恕我直言並不是個好主意。另一方面,Play提供了一些好幫手(如果你的控制器使用Java或Scala版本,PS也會寫) – biesior 2012-07-19 09:22:06

+0

我只是編輯我的文章。現在希望它清楚。 – Jurek 2012-07-19 10:30:16

回答

6

嘗試:

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

或者乾脆:

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

tip from google group

4

我覺得zipWithIndex是你所需要的:

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