>From: "Dakota Jack" <[EMAIL PROTECTED]> > > You are right, for once. I only speak for myself. Those who are > unwilling to listen to others are condemned by their own choice to a > life of ignorance. >
Sheese, sorry this got your panties in a bunch. > On 5/21/06, Kimani Darisha wrote: > > To anyone following these thread, please ignore this fool. He does > > not speak for anyone, and is only here to confuse people. > > > > K. > > > > On 5/21/06, Dakota Jack wrote: > > > I have seen no "very popular need". This is like Bush-Speak. Baloney > > > parading as truth. > > > > > > On 5/21/06, Don Brown wrote: > > > > > > > > After talking with several on this list about the possibility of > > > > combining the best of JSF and Action 2 in a unified framework from a > > > > user perspective, I have completed a first cut at JSF support in Action > > > > 2 with this loftly goal. > > > > > > > > From a user perspective, you still have one configuration file, > > > > struts-action.xml, which maps urls to actions and actions to results. > > > > However, you can optionally include the JSF interceptor stack and use > > > > the JSF result, allowing you to use JSF components in the view. You > > > > still define alternative results the same way, still have an action > > > > class per url, and can still use the normal GET-style navigation. > > > > > > > > From a framework perspective, I split the lifecycle class into > > > > indivudal Action 2 interceptors, one per phase. The final render phase > > > > I turned into a Result. Upon initialization, I replace the navigation > > > > handler with one that simply records outcomes as if they were result > > > > codes from an Action. Also, the setup inserts a variable resolver that > > > > exposes the action instance to the EL bindings. Therefore, the flow > > > > goes: determine action/namespace -> run normal interceptors -> run JSF > > > > phases -> invoke JSF action (optional) -> invoke SAF2 action -> invoke > > > > render phase. The purpose of the Action then becomes as a general setup > > > > for the page, much like the Shale pre-render hook. > > > > > > > > I chose this approach because I find the Action 2 controller stronger > > > > (JSF was always meant as a view tech, as I understand it), so think it > > > > better suited for navigation, state-less actions, and centralizing page > > > > setup code. JSF is better for complex single pages or page groups where > > > > different stateful components might be needing to submit the page > > > > without affecting others. > > > > > > > > To demonstrate this integration, I added a JSF tab to the showcase. As > > > > a sneak peek, here is the action mapping for a JSF page that edits an > > > > employee: > > > > > > > > > > > > class="org.apache.struts.action2.showcase.jsf.EmployeeAction"> > > > > > > > > > > > > > > > > index > > > > > > > > > > > > Notice the default page is the JSF page, but other navigation is > > > > handled > > > > by traditional Action 2 results. Incidently, this means only POSTs for > > > > real form submits and bookmarkable GETS everywhere else. > > > > > > > > I'm sure there is a lot of refinement to do, but I'm hoping this > > > > general > > > > approach will solve the very popular need to combine the two frameworks > > > > in a seamless way for the user. I'm particularly interested in feedback > > > > from the JSF folks, as I'm pretty new to the framework. > > > > > > > > Don > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > -- > > > "You can lead a horse to water but you cannot make it float on its back." > > > ~Dakota Jack~ > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > "You can lead a horse to water but you cannot make it float on its back." > ~Dakota Jack~ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >