0

我想让我所有的 http 错误页面统一,以便使用我的网站主题显示它们。开箱即用的 liferay 似乎正在处理一些错误并忽略其他错误,让 tomcat 以众所周知的格式显示它们雄猫 403。现在 404 例如由 liferay 处理。它由 status.jsp 显示,并且与我网站的其他部分具有相同的主题。status.jsp 似乎只支持一些错误消息,例如 404 和 500。我解决此问题的想法是在 ROOT/WEB-INF/web.xml 中添加更多错误代码,例如 401,403,405 等。我可以将所有这些指向一个 jsp ROOT/errors/error.jsp,它执行类似的操作

<body onload="javascript:location.replace('http://localhost:8080/c/portal/status?err=<%= pageContext.getErrorData().getStatusCode() %>&uri=<%= pageContext.getErrorData().getRequestURI() %>')">

这样我就可以将一些必要的数据放入 status.jsp。并且可以使用覆盖原始 status.jsp 的钩子显示包含 http 代码和导致它的 URI 的消息。

现在,这是实现统一状态页面的合理方式吗?有没有更好的办法?

4

1 回答 1

0

您可以在 web.xml 中定义错误页面。指代不同的控制器,它们将委托给具有准备好的数据的 JSP。永远不要在 JSP 中使用 scriptlet。

于 2013-09-06T11:03:54.240 回答