I have been recently trying to put together a nice normal webapp using Struts and EJBs and I'm totally fed up with Struts. The EJB component works beautifully (especially with the new 2.0 spec) but the Struts is heavily broken as well as very labor intensive and finicky.
Anyway, I've been reading something about the Velocity/Turbine project and am hoping that MAYBE it might solve my problem.
Basically, Struts has no persistence model in mind. To me, this means that, in addition to producing all of the redundant code that EJB requires, I also have to re-re-define all data structures in FormBeans and then re-re-re-define the FormBeans in the struts-config.xml, always right down to the fieldnames and datatype! (That's FOUR times, ladies and gents, in the BEST case scenario). Additionally, I've got to go through the largely redundant work of mapping FormBeans to EJBs and back. It's a godawful task. Even for a few tables, we are talking a MAJOR undertaking. Now I know about Dynaforms, but then you get into the whole "can't (easily) construct them and they can't do anything for you" kind of thing. (i.e. forget about doing custom validation, any method calling on the Beans, etc.)
Additionally, exception handling in Actions is a real mess and I'm not crazy about the way that success/failure on an action is done (i.e. pass the string "SUCCESS" for ok and "FAILURE" for not).
So, I'm thinking about bailing and going to TDK. It's also Model 2 and, since Turbine and Velocity are hand-in-hand, at least they MUST have consolidated their data framework to one object model, right? (I'm SO hoping this is true since it would eliminate my number one gripe.)
Now after that lengthy preamble, here's my question! Is there anyone out there who has used both Struts and Turbine? Does Turbine give you anything extra that Struts doesn't, ESPECIALLY regarding the backend?
It's not that I don't CARE about the front-end. However, me not being visual, it will look like hell no matter what I use.
Thanks. I'm going to be starting my TDK work tonight and, if you'd like, I'll post my findings. Also, if you have questions, just email me. I'm really working in the dark on ALL of this and having someone for regular javadev correspondence would be superduper.