0

Web サイトのテーマを使用して表示されるように、すべての 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