play framework2開發(三)

來源:互聯網
上載者:User

模板引擎的使用

上一篇文章說的是顯示一條資料,那麼我們如何顯示多條資料呢?

1、修改result.scala.html

@(user:forms.User,users:List[forms.User])<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h1>Result</h1>ID:@user.id<br/>Name:@user.name<ul>   @for(u<-users){   <li>ID:@u.id  Name:@u.name</li>   }</ul></body></html>

增加一個參數List,

 @for(u<-users){
   <li>ID:@u.id  Name:@u.name</li>
   }

就是迴圈顯示

2、修改UserControl的submit方法

public static Result submit() {                         User user = userForm.bindFromRequest().get();                 List<User> list=new ArrayList();         list.add(user);         list.add(user);         list.add(user);         return ok(views.html.user.result.render(user,list));        }

此處是類比資料,並無實際意義。

如果html中用到@符號,則需要使用2個@@,比如mark@@163.com

模板參數

模板就像一個函數,所以它需要參數,必須聲明在模板檔案的頂端

@(customer: models.Customer, orders: List[models.Order])

你也可以設定預設參數值

@(title: String = "Home")

或者幾個參數組

@(title:String)(body: Html)

if-語句塊

沒有什麼特別的

@if(items.isEmpty()) {  <h1>Nothing to display</h1>} else {  <h1>@items.size() items!</h1>}

定義局部變數

@defining(user.id + " " + user.name) { info =>  <div>Hello @info</div>}

@info只能在該大括弧內使用

Import語句

你可以在模板的頂端引入任何包

@(user:forms.User,users:List[forms.User])@import java.util._

如果多個頁面都需要引入相同包,或者公司有comm包

project/Build.scala

val main = play.Project(appName, appVersion, appDependencies).settings(    templatesImport += "java.util._"   )

原生HTML
如果想輸出html

<p>  @Html(article.content)    </p>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.