The numberguess example showed some of RIFE's power when it comes to using templates and submissions to handle forms and user input. In the next few chapters we are going to develop a somewhat more advanced application: a friends database application.
Our application will display a title and a list of friends and let us add new ones to the database. We also want to send a copy of the application to a friend when it's done, so that he can use it too. We don't want to make him change the code just in order to change the title though, so we will make sure that can be done easily through a configuration file instead.
The example is available in the same rife-examples package as the numberguess example from Chapter 3, Creating a more advanced RIFE application. To make it easier to follow, we provide you with the directory structure of the finished application:
Example 5.1. Directory structure of the friends application
src/ elements/ add.xml display.xml install.xml menu.xml remove.xml implementations/ tutorial/ friends/ Add.java Display.java Install.java Remove.java rep/ config.xml datasources.xml participants.xml sites/ friends.xml templates/ add.html display.html install.html menu.html remove.html tutorial/ friends/ backend/ Friend.java FriendManager.java
The application consists out of five different elements. Four of them have their own Java implementations and one uses an element that's already part of RIFE. All content is generated through templates and each element has a dedicated one. A friend is represented by the
Friend object and all friends are managed by a
FriendManager. We'll start off by setting up the site participant and defining the elements
DISPLAY, for listing the friends, and
MENU, for navigating the application.
Like in the previous example we use a
ParticipantSite participant to define the main site file.