En varios proyectos anteriores (todos anteriores a la primavera 3.0), tuve un solo error al manejar el archivo jsp (generalmente "message.jsp") que tenía una línea similar a lo siguiente:Acceso exception.class.name en primavera: etiqueta de mensaje cuando se usa SimpleMappingExceptionResolver
<spring:message code="exceptions.${exception.class.name}" text="${exception.message}"/>
esto me permitió asignar excepciones a esta página y resolver ciertos mensajes de error localizada basado en el tipo de excepción mediante la definición de un derivado de la 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>
esto funcionó sin problemas hasta Intenté actualizar a S Pring 3 y Tomcat 7. Ahora, cuando se utiliza este código, me sale el siguiente error:
"${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
Alguna idea de lo que ha cambiado o cómo acceder al nombre de la clase de la excepción (parte del modelo devuelto por la primavera de la página de error asignada)?
Creo que he descubierto que usar "excepción" hace lo mismo. ¡Gracias! – pconrey
Para encontrar las ocurrencias, puede usar este RegEx: (\ $ \ {) (. *?) (?