As it turns out, if you want you can still use the Struts ActionError, ActionMessage, and FieldError by:
Note: this example is based on modifying this
example
in login.jsp, the form to this
Change validate method in LoginAction.java to this:
Run the example and you will see that the validation is happening and the messages are displaying.