I think that the Front Controller helps you not to write scriplet code in the
JSP view. A Front Controller typically uses an Application Controller, which is responsible for action and view management.
The front controller is in struts 2 a Filter that functions as a Dispatcher for the action and views. The acion collects data and the Dispatcher forwards to the view. To preserve the Service To Worker pattern we don't want the action to be aware of the view. The dispatcher let's the action know to collect data and then forwards to JSP or other views.
If you find a good book on Struts 2 then please let me know. I'm looking for one