For over a year I have been working on a book about the Apache MyFaces project for Packt Publishing. The book is nearing completion and is expected to be released February 2010. The book will be covering the Tomahawk, Trinidad, Orchestra and Extensions Validator subprojects of MyFaces. Throughout the book, Facelets will be used as […]
At my current client we had the first user acceptance test of a new Oracle ADF application. We have a lot of data entry pages in our application, where database records are presented in editable tables. Each table has a tool bar, with a “Create new record” button on it. One of the things the users noticed during the test, is that when they created a new record, the new record showed up in the table and was selected, but the first input field in the record didn’t have the input focus. I looked for a setting in ADF to set the input focus after creating a new record, but didn’t find anything. So I created my own solution…
At the end of my previous post, I stated: There’s one more thing I’m not really sure of (yet). In section 39.7 of their Fusion Middleware Developer’s Guide, Oracle shows a (in my opinion rather hacky) way to make sure Session information is saved between different incarnations of the ApplicationModule. I’m not sure if this […]
As you probably know, Oracle ADF is a complete JEE application development framework from Oracle. It is targetted at companies that already have an Oracle Database and perhaps legacy applications developed with Oracle’s “Forms” technology. The client I’m working for at the moment is such a company, and we’re developing an application in ADF that is going to replace (a part of) their Forms application eventually.
One would expect a framework designed by Oracle for use with an Oracle database to have excellent support for specific features of the Oracle database. For a lot of features this is true, but at my client’s, we were unlucky to have chosen to use a database feature that is not supported that well in ADF. That is “out of the box”. Wit a lot of “trial and error” and some help from some experts at the forum on Oracle’s Technology Network, I managed to get it working. Read on to find out what problems I encountered and how I solved them.
In a typical Java EE web application, there’s almost always the problem of where to put the validation. Of course there’s only one place where validation belongs: in the model. So if you’re e.g. using EJB as persistence layer, the EJB Entities is where the validation code belongs. However, from a usability point of view, one never wants to leave all validation out of the UI code. This often leads to duplicate validation code. While not ideal, duplicate validation code is often considered as inevitable.
Yesterday I stumled upon Apache MyFaces Extensions Validator (a.k.a. ExtVal, formerly sev-en), a JSF based solution that looks very promising. I did not have a chance to try it myself yet, but it promises some nice things:
Are you still using JSP as view technology for you JSF pages? You shouldn’t! Although not an official standard (yet), Facelets offers many advantages over JSP. Facelets adds templating and an easy way to create ‘composition components’, just to name two of the most important benefits.
Another very useful feature is the debug option. By just adding something like
<ui:debug hotkey="p" rendered="true"/>
to your page, you can now display a debug window at runtime by just pressing CTRL + SHIFT + P in your browser window. Unfortunately, there’s a little bug in this debug window, preventing one of the expandable sections to expand.