playframeworkではsetter
/getter
を自動的に生成することになっている。下記のような記述をすると、この仕様を実感できる。(groovyのgetter/setterの自動生成サポートと同じ感じです)
class User extends Model {
public String name;
public String getStatus() {
return "異常";
}
}
class Application extends Controller {
public static void index() {
User user = new User();
user.name = "Jack";
render(user);
}
}
名前は、${user.name}。ステータスは${user.status}だ。
User
クラスには、status
というプロパティは存在しないが、自動的にgetter
を経由するのでgetStatus()
が呼び出される。
そのためエラーにならない。