В нескольких предыдущих проектах (все до Spring 3.0) у меня был единственный файл jsp обработки ошибок (обычно "message.jsp"), в котором была строка, подобная следующей:
<spring:message code="exceptions.${exception.class.name}" text="${exception.message}"/>
This позволил мне сопоставить исключения на этой странице и разрешить определенные локализованные сообщения об ошибках на основе типа исключения, определив производную от SimpleMappingExceptionResolver:
<bean id="exceptionMapping" class="mycode.ui.resolvers.MyExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">message</prop>
<prop key="javax.servlet.ServletException">message</prop>
<prop key="MyCustomException">message</prop>
<prop key="ApplicationAuthorizationException">login</prop>
<prop key="NotLoggedInException">login</prop>
</props>
</property>
</bean>
Это работало безупречно, пока я не попытался перейти на Spring 3 и Tomcat 7. Теперь, когда я использую это код, я получаю следующую ошибку:
"${exception.class.name}" contains invalid expression(s): javax.el.ELException: The identifier [class] is not a valid Java identifier as required by section 1.19 of the EL specification
Любая идея, что изменилось или как получить доступ к имени класса исключения (часть модели, возвращенной Spring на сопоставленную страницу ошибки)?