Back from a week of vacation, I'm working on the last few issues around the JDeveloper 10g version of the ADF Toy Store Demo. Today I finished tweaking the page flow model and am happy with it. Using the new feature in JDeveloper 10g production called "Data Pages", we've made it simpler (since the 10g preview release) to work with the frequently-occurring combination of a JSP/UIX page and a related Struts action that:
- Handles preparing the data model before rendering that page, and
- Handles processing application events for that page.
Using this great new feature, the page flow for the ADF Toy Store is dramatically simplified and really helps you understand how the application page logic flows. Here's a quick screen shot from my JDeveloper 10g 9.0.5.1.1553 build I'm using today:
Using a much-simplified event-handling mechanism that's new for 9.0.5.1 production, we've made it really easy to write event-handling code in your struts action (which behaves identically to the DispatchAction that Struts developers are familiar with). If you have a link in your page with a URL parameter like event=DoSomething or alternatively you have an HTML input field (typically a button or image button) with a name like event_DoSomething (since the button value might be a translatable string) then our provided Struts DataAction will automatically delegate to a method in your action class (that extends DataAction) named onDoSomething() where you can write custom code.
In addition, if you don't wish to programmatically set the name of the action to forward to, we will by default attempt to find a forward of the same name as your event name to further simplify flowing pages together. That means, for example from the page flow diagram above, that when the user clicks the button in the "/yourcart" shopping cart page named event_reviewcheckout, we will automatically "flow" to the "/reviewcheckout" page next without having to write code.
Even though the existing BC4J Toy Store already illustrates how little application code is required using our framework to build real-world applications, by leveraging this new DataPage mechanism I've further been able to reduce this amount of application code in the ADF Toy Store version. Excellent!
We're adding lots of new documentation in 9.0.5.1 that explains all of the new ADF binding and controller functionality like this new DataPage.
11:16:26 AM
|