ユーザーに沿って別のページに転送するac:redirectタグを含むJSPファイルがありました。
<!-- Yes, I know this loop is probably unnecessary, but I'm not fluent in jsp and have determined it is not the problem. :) -->
<c:if test="${cmd.numberOfResults == 1}">
<c:forEach items="${cmd.matches}" var="someVar">
<c:redirect url="/loadThatResultInfo.html"/>
</c:forEach>
</c:if>
コマンドオブジェクトの古い実装は更新する必要があります(私が入ったところ)。私がそうしている方法は、その古いオブジェクトのインスタンスを含む一般的な「検索結果」オブジェクトを作成することです(今のところ)。そのインスタンスはその汎用クラスのプロパティを介して取得するため、コードは次のようになります。
<c:if test="${cmd.genericSearchObject.numberOfResults == 1}">
<c:forEach items="${cmd.genericSearchObject.matches}" var="acct">
<jsp:forward page="/loadThatResultInfo.html"/> <!-- new try! -->
<c:redirect url="/loadThatResultInfo.html"/> <!-- old try... -->
<% response.sendRedirect("/loadThatResultInfo.html"); %> <! new try! -->
</c:forEach>
</c:if>
これらの3つの試行はすべて、ある種のIllegalStateExceptionsになります。 特に、関連する行(変更された/バインドされたクラスインスタンスではなくリダイレクト)が問題を引き起こしていることを考えると、この変更によって例外が発生するのはなぜですか?
それに応じてバックエンドの変更が行われ、古い機能を満たすために、新しい包括的「汎用」クラス内のプロパティを参照しました。私が書いているもの以外のすべての関連機能が機能するので、これが機能することを私は知っています。
オンラインでの調査によると:-提出物がすでに提出された後、リダイレクト/転送できません。では、以前はどうやってそれを行うことができたのでしょうか。-すでにクリアされたバッファをフラッシュしようとすると、これが発生します。古い(最初の)実装とは対照的に、今ではそれをクリアするために何が変更されましたか?-ページのバッファのサイズを大きくする必要があります。これは私が理解していないものであり、stackoverflowコミュニティが対処することを本当に望んでいます。新しいクラスがサイズの変更を引き起こしているのを見ることができますが、これには変更を処理する必要があります。
-------別の答え!-------
何よりもまず、マークされた回答で説明されているように、常にコードに状況を設定します。しかし...あなたが立ち往生していてそれをしたくない場合は、ここに簡単な修正があります:javascript!
<script type="text/javascript">
location='./yourPageToGoTo.html'
</script>