Declarative validation is more readable, very powerful and customizable. And in a web application well written (good DTO or VO definition, one Action for every logical action to perform), you can share it in many ways.
For example, if you use Visitor validator (to validate a List of objects from JSP), you put the .xml file in the object package (with the object name), not in the action package, and if you use that object in multiple Actions, you write its validation rules once, and reuse it how many times you want.
I'm not a fan of XML configuration, but after several projects in the old way i discovered the full potential of this kind of Validation, and i wouldn't come back.
Take a look at this for some tips you may want to know.