1

私はSpring Mvc.Hereを使用しています.JSPをビューとして使用しています。

別のコントローラーの対象となるフォームから、別のコントローラーの対象となる別のフォームにリダイレクトする必要がある状況があります。

利用した

<c:redirect url="updateStock.ic?appId='${mineralSelect.applicationId}'&serviceId='${mineralSelect.serviceId}'&mineralIdAndName='${mineralList.get(0).mineralId}:${mineralList.get(0).mineralName}'"/>

しかし、それは実行されますが、ページはレンダリングされません.しかし、コンソールビューには例外ページはありません.

4

1 に答える 1

1

コメントへの回答が得られなかったので、限られた知識で最善の回答を提供できるように努めます。

まず、JSP にリダイレクトを入れるのは悪い習慣だと思います。率直に言って、単純なループと決定分岐以外のものを JSP に配置するのは悪い習慣だと思います。リダイレクトを行うという決定は「ビジネス ロジック」の決定であり、JSP では行わないと考えます。Spring MVC は、コントローラーでリダイレクトを行うためのいくつかの方法を提供します。これには、JSP にないという追加の利点があり、リダイレクトを実行するために JSP をレンダリングする必要がなくなります。 この投稿には、コントローラーでリダイレクトを実行する方法の例がいくつかあります。

JSP でリダイレクトを行うことにまだ熱中している場合は、いくつかのテスト ツールを分割して、リダイレクトがまったく得られているかどうかを確認することをお勧めします。Chrome の開発者ツールと Firefox の Firebug には、ブラウザに何が送信されたかを報告する機能があります。Fiddler は、これらのことにも適したツールです。探しているのは、リダイレクト先の URL を含む HTTP 3xx ヘッダー (おそらく 302) です。

ブラウザに HTTP 3xx 応答が表示されない場合は、トラブルシューティングを行います。次の質問から始めます。

  1. JSPはまったくレンダリングされていますか
  2. レンダリング中の場合、リダイレクトの周りにデバッグ ステートメントを配置するとどうなりますか?
  3. リダイレクトの周りに、実行されない原因となっているロジックがありますか (デバッグステートメントはこれを回避する可能性があります)。

デバッグ出力とログを追加して、できるだけソースに近いところから始めて、何が機能していて何が機能していないかを判断するまで、次に広い領域に拡張します。

于 2013-03-22T11:50:10.750 に答える