我目前正在学习游戏框架,我在几个教程视频中看到过在声明之前使用@的人。
例如,在index.html文件中:
@main
或@ message
@
做什么?它是如何在html文件中使用的?它让我想起了很多JQuery中的$。
答案 0 :(得分:0)
在第一种情况下,@Entity
或@Id
这些是Java annotations - 它们在Java类中用于不同的目的(根据它们的目的地)。您可能会将其显示为Ebean模型的一部分,请检查its docs以查看它们的作用,示例:
package models;
import java.util.*;
import javax.persistence.*;
import com.avaje.ebean.Model;
import play.data.format.*;
import play.data.validation.*;
@Entity
public class Task extends Model {
@Id
@Constraints.Min(10)
public Long id;
@Constraints.Required
public String name;
public boolean done;
@Formats.DateTime(pattern="dd/MM/yyyy")
public Date dueDate = new Date();
public static Finder<Long, Task> find = new Finder<Long,Task>(Task.class);
}
Twirl模板中使用的第二个at
通常表示命名变量或动态语句的开头,即:
<title>@pageTitle</title>
<ul>
@for((item, index) <- myItems.zipWithIndex) {
<li>Item @index is @item</li>
}
</ul>
其中@pageTitle
,@index
和@item
=变量,
@for(...){ ... }它只是一个循环块,请注意myItems
不需要@
符号,因为它被识别为Scala参数)
正如您所看到的,@
char在两种情况下没有任何联系,它们具有完全不同的含义。
为了更好地理解,首先要熟悉链接的Twirl文档,以及一般的Play文档。然后研究Play团队准备的几个示例应用程序,以实现哪个。