# HG changeset patch # User Mike Becker # Date 1589399186 -7200 # Node ID 1574965c7dc722629f219b36bca6c7a4787668f2 # Parent cc7f082c5ef3bb5aa540d3d9290a91bb7804097c fixes error pages and adds referer link to error page if it comes from the application diff -r cc7f082c5ef3 -r 1574965c7dc7 src/main/java/de/uapcore/lightpit/modules/ErrorModule.java --- a/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java Wed May 13 21:10:23 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java Wed May 13 21:46:26 2020 +0200 @@ -32,6 +32,7 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; +import java.util.Optional; /** * Entry point for the application. @@ -49,10 +50,16 @@ public final class ErrorModule extends AbstractLightPITServlet { public static final String REQ_ATTR_ERROR_CODE = "errorCode"; + public static final String REQ_ATTR_RETURN_LINK = "returnLink"; private ResponseType handle(HttpServletRequest req, int sc) { req.setAttribute(REQ_ATTR_ERROR_CODE, sc); + + Optional.ofNullable(req.getHeader("Referer")).ifPresent( + referer -> req.setAttribute(REQ_ATTR_RETURN_LINK, referer) + ); + setStylesheet(req, "error"); setDynamicFragment(req, "error"); diff -r cc7f082c5ef3 -r 1574965c7dc7 src/main/resources/localization/error.properties --- a/src/main/resources/localization/error.properties Wed May 13 21:10:23 2020 +0200 +++ b/src/main/resources/localization/error.properties Wed May 13 21:46:26 2020 +0200 @@ -33,3 +33,4 @@ errorTimestamp = Timestamp errorExceptionText = Internal Exception +errorReturnLink = Return to diff -r cc7f082c5ef3 -r 1574965c7dc7 src/main/resources/localization/error_de.properties --- a/src/main/resources/localization/error_de.properties Wed May 13 21:10:23 2020 +0200 +++ b/src/main/resources/localization/error_de.properties Wed May 13 21:46:26 2020 +0200 @@ -33,3 +33,4 @@ errorTimestamp = Zeitstempel errorExceptionText = Interne Ausnahme +errorReturnLink = Kehre zurück zu diff -r cc7f082c5ef3 -r 1574965c7dc7 src/main/webapp/WEB-INF/dynamic_fragments/error.jsp --- a/src/main/webapp/WEB-INF/dynamic_fragments/error.jsp Wed May 13 21:10:23 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/error.jsp Wed May 13 21:46:26 2020 +0200 @@ -28,10 +28,10 @@ <%@page import="de.uapcore.lightpit.modules.ErrorModule" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> - - +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +

@@ -48,11 +48,18 @@ : + <%--@elvariable id="exception" type="java.lang.Exception"--%> : ${exception.class.name} - ${exception.message} + + + : + ${returnLink} + +
diff -r cc7f082c5ef3 -r 1574965c7dc7 src/main/webapp/WEB-INF/jsp/site.jsp --- a/src/main/webapp/WEB-INF/jsp/site.jsp Wed May 13 21:10:23 2020 +0200 +++ b/src/main/webapp/WEB-INF/jsp/site.jsp Wed May 13 21:46:26 2020 +0200 @@ -30,6 +30,9 @@ <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%-- Make the base href easily available at request scope --%> + + <%-- Define an alias for the request path --%> @@ -56,7 +59,7 @@ - + LightPIT - <fmt:bundle basename="${moduleInfo.bundleBaseName}"> <fmt:message key="${moduleInfo.titleKey}" />