У меня те же настройки, что и у вас, за исключением того, что я перенаправляю свое исключение на страницу JSP exception.jsp.
На этой странице у меня есть следующее:
<s:set name="ex" value="%{exception}" scope="page"/>
Я знаю, что вы хотите избежать тегов libs, но, возможно, свойство исключения будет доступно в вашем действии? Я помню, как не мог передать исключение в свое действие в качестве объекта исключения. Я могу передать это только как строку (моя память размыта, это было давно)
В конце концов, я перенаправил на страницу JSP, включив вышеупомянутый тег s: set и следующий JSP sciptlet:
<%
Exception exMsg = (Exception)pageContext.getAttribute("ex");
logger.logException(application.getRealPath("")+ "/WEB-INF/error.txt",exMsg);
%>
<br/><br/>User friendly message here
Класс logger получил трассировку стека из класса Exception и записал ее в файл:
StackTraceElement[] stackTrace = exception.getStackTrace();
Я помню, как нужно было это сделать, поэтому это была одна из тех ситуаций, когда мне приходилось соглашаться на какой-то грязный код, но он работал ... Если вы придумали что-то лучше, дайте мне знать