In some Smalltalks, saving this method will raise a warning, telling you that the selector renderContact:on: is unknown. This is because we haven’t yet defined the method with that name, but you should confirm that this name is correct because we will define it in the next snippet:

Notice how we split up the rendering method. This is common practice in Seaside. Register this component as “contacts” and then browse it at http://localhost:8080/contacts and you should see a window similar to the one shown in Figure 70.

WAAdminregister:ContactListViewasApplicationAt:'contacts'

Figure 70: Displaying the contact database.

Already, with just a few lines of very readable code, you are able to load data from a (very simple) data store and list that data on a web page. Let’s see how easy it is to start adding new records.

It is actually bad design to refer to the Contact class directly. It would be better to add a model instance variable to our component, but for now, we will stick with what we have in the interest of simplicity.