I've been toying with this idea of severing XWork and Struts 2's strict dependency to OGNL. The goal is not necessary to remove OGNL outright, but to make it possible to replace it with another expression language. I'm happy with OGNL right now, however a couple things - its slow, mostly unsupported, doesn't have tool support, and did I mention slow? - inspire me to want to start to wean Struts off of it.

How would we do it?
1. Pull out a ValueStack interface from OgnlValueStack
2. Create an abstract factory, ValueStackFactory, to create the ValueStack
3. Pull out an interface from OgnlUtils and create a factory for it
4. Replace/abstract the custom type conversion stuff

I've done 1 and 2, compiling and tests passing. #3 seems pretty easy, but the big question mark is #4. Also, I'd imagine things like our tags are tied to the OGNL grammer, which might be interesting.

Again, my goal isn't to remove it completely, but just to make it possible to swap it out sometime in the future with JEXL, JSP EL, custom OGNL (like Wicket and Stripes have done), WW 1 EL, or BeanUtils EL. The last two might be interesting to assist in migration situations.

What does some of the Webwork veterans think? Is this doable?

Don

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to