xii Contents
Testing the Controller ��������������������������������������������������������������������������������������������������������������������������������������� 317
Creating a Domain Class ����������������������������������������������������������������������������������������������������������������������������������� 321
Scaffolding �������������������������������������������������������������������������������������������������������������������������������� 325
Dynamic Scaffolding ������������������������������������������������������������������������������������������������������������������������������������������ 325
Static Scaffolding ���������������������������������������������������������������������������������������������������������������������������������������������� 329
H2 Console �������������������������������������������������������������������������������������������������������������������������������� 345
Creating Domain Relationships ������������������������������������������������������������������������������������������������ 347
Summary ����������������������������������������������������������������������������������������������������������������������������������� 354
■ Chapter 8: Play with Java and Scala ����������������������������������������������������������������������������� 355
Features of Play 2 �������������������������������������������������������������������������������������������������������������������� 356
MVC in Play 2 ���������������������������������������������������������������������������������������������������������������������������� 356
Router ���������������������������������������������������������������������������������������������������������������������������������������������������������������� 357
Controller ����������������������������������������������������������������������������������������������������������������������������������������������������������� 357
Model ����������������������������������������������������������������������������������������������������������������������������������������������������������������� 358
View ������������������������������������������������������������������������������������������������������������������������������������������������������������������� 358
Getting Started with Play����������������������������������������������������������������������������������������������������������� 358
Hello World Java Application with Play �������������������������������������������������������������������������������������������������������������� 360
Helloworld Scala Application with Play 2 ��������������������������������������������������������������������������������������������������������� 370
A Basic CRUD Play 2 Java Application ��������������������������������������������������������������������������������������� 373
Defining the Routes ������������������������������������������������������������������������������������������������������������������������������������������� 373
Creating the Controller and Actions ������������������������������������������������������������������������������������������������������������������� 374
Creating the Model �������������������������������������������������������������������������������������������������������������������������������������������� 375
The Form and the View Template ���������������������������������������������������������������������������������������������������������������������� 376
Accessing the Database ������������������������������������������������������������������������������������������������������������������������������������ 379
Deleting Books ��������������������������������������������������������������������������������������������������������������������������������������������������� 382
Summary ����������������������������������������������������������������������������������������������������������������������������������� 382
■ Appendix A: Introduction to Java ���������������������������������������������������������������������������������� 383
Classes and Objects ������������������������������������������������������������������������������������������������������������������ 383
Variables ������������������������������������������������������������������������������������������������������������������������������������ 384
Instance Members ��������������������������������������������������������������������������������������������������������������������������������������������� 384
Static Members ������������������������������������������������������������������������������������������������������������������������������������������������� 385