"!" is a special character means that if you have action which name is "do" and in struts.properties you have
struts.enable.DynamicMethodInvocation=true which is the default value, then if the request is "do_namespace/do!firstMethod" will invoke the firstMethod. If you specify action name already with containing "!" I guess it will arise additional problems (I think action "do!lolo" will automatically call not execute but lolo method). Best, Aram