Merge pull request #1931 from juzer/master
* pull1931: Fixed potential ClassCastException getting error
This commit is contained in:
@@ -163,7 +163,7 @@ public class DefaultErrorAttributes implements ErrorAttributes, HandlerException
|
||||
|
||||
@Override
|
||||
public Throwable getError(RequestAttributes requestAttributes) {
|
||||
Exception exception = getAttribute(requestAttributes, ERROR_ATTRIBUTE);
|
||||
Throwable exception = getAttribute(requestAttributes, ERROR_ATTRIBUTE);
|
||||
if (exception == null) {
|
||||
exception = getAttribute(requestAttributes, "javax.servlet.error.exception");
|
||||
}
|
||||
|
||||
@@ -144,6 +144,19 @@ public class DefaultErrorAttributesTests {
|
||||
assertThat(attributes.get("message"), equalTo((Object) "Test"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getError() throws Exception {
|
||||
Error error = new OutOfMemoryError("Test error");
|
||||
this.request.setAttribute("javax.servlet.error.exception", error);
|
||||
Map<String, Object> attributes = this.errorAttributes.getErrorAttributes(
|
||||
this.requestAttributes, false);
|
||||
assertThat(this.errorAttributes.getError(this.requestAttributes),
|
||||
sameInstance((Object) error));
|
||||
assertThat(attributes.get("exception"),
|
||||
equalTo((Object) OutOfMemoryError.class.getName()));
|
||||
assertThat(attributes.get("message"), equalTo((Object) "Test error"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void extractBindingResultErrors() throws Exception {
|
||||
BindingResult bindingResult = new MapBindingResult(Collections.singletonMap("a",
|
||||
|
||||
Reference in New Issue
Block a user