問題
- このエラー「java.lang.IllegalStateException: UT010006: Cannot call getWriter(), getOutputStream() already called が発生した場合は?
2021-10-04 09:09:58.095 ERROR [default task-34][IncludeTag:128] Current URL / generates exception: java.lang.IllegalStateException: UT010006: Cannot call getWriter(), getOutputStream() already called
java.lang.IllegalStateException: UT010006: Cannot call getWriter(), getOutputStream() already called
at io.undertow.servlet.spec.HttpServletResponseImpl.getWriter(HttpServletResponseImpl.java:355)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:152)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:152)
Environment
- Liferay DXP
解決策
-
このエラーは、以下の例のシナリオのような理由で発生する可能性があります。
- 応答で getOutputStream() を呼び出すとき、または応答をコミットした後に include() または forward() メソッドを呼び出すなどの他の方法
- 応答の出力ストリームが別のコードによって既に開かれているコード ロジックである可能性があります。 同様に、サーブレットが include() メソッドを呼び出した後に何かを書き込むために応答オブジェクトで getOutputStream() メソッドを呼び出す場合、JSP は既に応答を書き込んでいるため、応答オブジェクトで OutputStream を再び開くことは違法です。 java.lang.IllegalStateException: getWriter() 例外。
- それを解決するためのさらなる支援が必要な場合は、開発者チームまたは当社の Liferay グローバル サービス チーム が、この実装固有の動作についてお手伝いします。
追加情報
注意: この情報は Liferayによって文書化されていないため、この情報を使用する際は適切な裁量に従うことを選択してください 。