I have not spent much time with Spring 2.0, but I
doubt that the issues at hand are substantially
different than with Spring 1.x.
Struts 1.3.x is backwards compatible with Struts
1.2.x in most important ways (there's a Wiki page
detailing issues.) However, depending on what
parts of Spring's struts-integration libraries
you use, you may find that certain Struts 1.3
features are not available or do not behave as
expected.
Specifically, Spring 1.x provides a custom
implementation of the Struts Request Processor.
You can use Struts and Spring together without
using it, but if you choose to use it, you must
understand the issues I'm going to try to explain
here.
Struts 1.3 attempted a substantial refactoring of
request processing so that custom functionality
would be more easily integrated without running
into the limitations of Java single-inheritance.
People found that they wanted behavior that was
implemented in two different custom Request
Processors (usually the TilesRequestProcessor and
something else) and had to wrestle with how to
achieve that. Those of us who wanted to write
reusable extensions to the request processing
cycle had to consider extending both the
TilesRequestProcessor and the base
RequestProcessor, and if someone wanted to put in
even more customizations, this quickly becomes
totally unworkable.
If you use Spring's custom request processors in
Struts 1.3.x, you will lose some new
functionality which is only implemented in
commands which are part of the new
ComposableRequestProcessor's command chain. This
mostly has to do with other uses of the
commons-chain integration (like per-action and
per-forward command execution), but also a little
bit with the exception handling, where Struts now
handles exceptions a little better when they
occur in the midst of tiles.
Struts 2.0 doesn't even use the same
RequestProcessor, and I'm sure that the Spring
folks haven't tried to write integration code
with either Struts 1.3.x or Struts 2.0 since
they've only recently seen full releases.
Joe
At 9:20 AM -0500 10/5/06, Bruno Melloni wrote:
I decided to use Spring 2.0 with Struts for my next project. But I
can't find info on the highest version of Struts that I can use with it.
This is what I found:
- Spring 2.0 comes with some parts of Struts 1.2.9, so it would be the
"safe bet".
- The latest Struts 1.x is 1.3.5. It seems to have done significant
repackaging, but I am not clear whether it is "supposed to be" backward
compatible to 1.2.9 or not.
- Struts 2.0 is out, but from what I read it is quite different from
1.x, and makes me doubt that it would be compatible with something that
was built for 1.2.9. I also heard that it still has a few bugs...
normal for a software version ".0".
Can someone bring some light into this darkness?
---
On a separate but related question... RAD 6 comes with Struts 1.1
(hopelessly outdated). Can it be upgraded to a more recent Struts
version? If yes, it is probably documented somewhere, could you point
me to the docs? Of course, it might be something as simple as including
the desired version of struts in the WEB-INF/lib folder and ignoring the
version that came with RAD 6.
Thanks.
--
Joe Germuska
[EMAIL PROTECTED] * http://blog.germuska.com
"The truth is that we learned from João forever to be out of tune."
-- Caetano Veloso
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]