I have been working with JSF (JavaServer Faces) for last 4 months or so and with each passing day, I have looked for ways to bring out the most functional and efficient UI designs. Ok, what I am working on at the moment does not only cover JSF, but also uses other frameworks like Spring, Hibernate and all the other associated technologies.
At the moment I have a UI which lists a number of objects from a database table using a JSF dataTable component. Retrieving the objects list from the database is not an issue since this is something that is pretty much part of the normal workings of JSF. However, I need to use the dataTable component to persist changes to the database and the logical thing to do here is to embed some input controls in the dataTable component. So, list multiple objects can be selected from the dataTable, the most logical input control is a HtmlSelectManyCheckbox and all these render beautifully on the browser. The problem is retrieving the values of the selected Checkboxes, and transforming these into their original object types and thus allow them to be persisted to the database through hibernate.
The main reason for using the dataTable component in this situation is its ability to automatically handle a list or array of objects; this automation means less code for me to write and perhaps even less application logic to deal with.