When declaratively handling exceptions,
struts is completely ignoring the exception tag I specify in my action:
I have the following Exception hierarchy (low to high):
DuplicateRecordException -> DataAccessException -> ApplicationException -> BaseException -> NestableException
My UserAction invokes a register method, which like other business logic methods throws an ApplicationException so that struts can handle it.
In the case above, a DuplicateRecordException is thrown if a user tries to register with a user name that already exists. I can see through my logged output that the exception is indeed being thrown, but the registration page doesn't indicate it. This is the message I get from <html:errors/>:
???en_US.DataAccessException error in register(): ic.pd.common.DuplicateRecordException: Duplicate user exists for username='100251162'???
Whereas I'm expecting the message from the resources bundle specified by the key (error.register.duplicate) that I configured for the exception in struts-config.xml. In fact, even if I change the path in the exception tag to somewhere else, it still takes me back to my registration page, so it appears to be completely ignoring my exception tag!
Any idea why?
Thanks in advance,
Brad.