2017-01-26 9 views
0

私はPlayフレームワークを学習しています。私はいくつかの練習問題を解決します。私はコードをコンパイルしたいが、私はエラーがあり、エラーの内容を知ることはできない。Play Framework Begginner。モデルを実装しようとしています

は私が期待して、このような出力: output

HomeController.java

public class HomeController extends Controller { 

public Result index() { 
    int level = 1; 

    Item item = new Item(); 
    item.User = "user1"; 
    item.timestamp = LocalTime.now(); 
    item.message = "the first message testing"; 

    Item item2 = new Item(); 
    item2.User = "user2"; 
    item2.timestamp = LocalTime.now(); 
    item2.message = "the second message testing"; 


    java.util.List<String> list= {item, item2}; 
    return ok(index.render("it works!", level, asScalaBuffer(list))); 
} 
} 

index.scala.html

@(message: String)(level:Int, list:Seq[Item]) 

@main("Welcome to Play") { 
<h1>@message</h1> 

@listContainer{ 
<[email protected]>Level @level</[email protected]> 
}(level, list){ 
<div>End of level @level</div> 
} 
} 

listContainer.scala.html

@(header: Html)(level:Int, items:Seq[Item])(footer: Html) 
@import Item 

<div style="margin-left: @{5*level}%"> 
@header 
<ul id="[email protected]"> 

@items.map { item => 
<li>@listItem(item)</li> 
} 
</ul> 
@footer 
</div> 

Item.javaモデル

package models; 

import org.joda.time.LocalTime; 

public class Item{ 
public String User; 
public LocalTime timestamp; 
public String message; 

public Item(String User, LocalTime timestamp, String message){ 
    this.User = User; 
    this.timestamp = timestamp; 
    this.message = message; 
} 
} 

listItem.scala.html

@(item:Item) 

<style> 

li.item span{ 
    width: 100px; 
    display: inline-block; 
} 
</style> 

<li class="item"> <span>@item.User</span> <span>[@item.timestamp]</span> > @item.message </li> 

私はこのエラーを取得するアプリを実行すると:

/Users/andrei/play-java/app/views/listContainer.scala.html:7: '.' expected but ';' found. 
<ul id="[email protected]"> 

を、私は理由を理解することはできません。

+0

すべきですか? – Mysterion

+0

  • @listItem(item)
  • (listContainer.scala.html) –

    答えて

    0

    問題は次のとおりです。クラスItemをインポートするときに間違っていました。

    @import Item 
    

    しかし、それはあなたの7行目で、あなたはそれをマークすることができ

    @import models.Item 
    
    +0

    がmodelsディレクトリにない場合でもですか? –

    +1

    もちろん、これはインポートが機能する方法です。自分で試してみてください – Mysterion

    関連する問題