Struts 2 does have a set of Java 1.4-compatible jars and I've run Struts 2.0 apps under 1.4 successfully, but it always made me a bit nervous. I don't know about Struts 2.1 and J4. I'd be more concerned about the
servlet spec than Java version, really.
If you like the form-to-bean binding in S1 then you'll be pretty happy about the
type conversion in S2; blows S1 away in terms of simplicity and conciseness.
The other thing about S2 I really like compared to S1 is the much better separation of the framework from the
JEE spec; it's much easier to
test S2 actions.
There's a
page comparing Struts 1 and 2 on the Struts 2 documentation wiki that highlights many other differences.
I've used Struts 1 since 1.0 (pre-1.0, I suppose) and there's just no comparison. There are a few pain points, but overall, it's been a much better experience for me.
Dave