2010-11-30 10 views
1

私はJSPであまり経験がありません。私はSpringフレームワークを使って検索を行うアプリケーションを持っています。これらの結果をJSPページに表示します。JSP/Springで別のページをすぐに読み込むにはどうしたらいいですか?

検索でただ1つのアイテムが返された場合、そのアイテムに関する情報を示す別のページにすぐにジャンプしたいと思います。

これはJSP/Springでも可能ですか?

<c:redirect url="/somePage.html"/> 

これは別のJSPファイルのものです。私がしたいことは(これは素朴なコードです)...

<c:when test="${cmd.totalResults = 1}"> 
    <c:redirect url="/loadItemInfo.html?id=someId"/> 
</c:when> 

ご協力いただきありがとうございます!関係するパラメータに関しては何も省略することができます。私はそれらを理解することができます。私が求めているのは、単にこれを起こさせることです。

  1. ページが読み込まれます。
  2. Pageは、結果が1つしかないことを確認します。
  3. Pageは、その結果のページに移動します。これは、ユーザーがその検索結果をクリックすると発生します。これにより、クリックが節約されます。

答えて

3

jspファイルではなく、Springコントローラの項目ロジックの数をチェックする必要があります。あなたの春のコントローラ内部

あなたはこのようなものを持っていることがあります。

if(items.size==1){ 
//Query items[0] info 
return new ModelAndView("itemInfo",model); 
} 
else{ 
    return new ModelAndView("listOfItems",model); 
} 
+0

これは良い洞察です。このプロジェクトは実際に私が引き継いだものです(したがって、JSPの知識が不足しているため)、コントローラー層に到達するかどうかを調べて、指定したとおりに確認できます。前回の開発者がJSPの結果番号を ...にチェックしていることに気付いたので、私は注意しています。これは私の「サンプルコード」に記載されています。私がコードからそれを実行できるのであれば、私はあなたの答えを答えにします。実際には:あなたはまったく正しいです。これはそれが行われるべき方法であり、私はどのように見えると信じています。ありがとう! – Danny

+0

ええ、このページは少し書き直す必要があります。現在のところ、referenceDate(..)をオーバーライドするだけです。つまり、GETだけです。この種のチェックは、onSubmit()のようなPOSTアクションに属します。 – Danny

2

あなたはしばらくの間、ページと別のものへのリダイレクトを表示したいですか? JSPタグでこれを行うことはできません。あなたはjavascriptが必要です。

document.location.href = '/path'; 
+0

これは良いと迅速な修正のように見えましたが、うまくいきませんでした。 \t Danny

+0

@ダニー私はあなたがページを表示してリダイレクトする必要がある場合に備えてアイデアを出していました。もちろん、結果が1つしかないときに実行するには、JSPタグに追加する必要があります。 X秒間ページを表示してリダイレクトしたい場合は、それをタイマーに入れるべきです:http://stackoverflow.com/questions/460474/how-to-set-a-timer-in-javascript – Javi

+0

ああ、それ理にかなっている。一定時間のページを表示する必要はありません。ユーザーの視点からは、「検索」をクリックして、単一項目の情報を表示するようにします(返される唯一の項目の場合)。あなたの入力はまだサーチャーに役立つことがあります。次のように感謝します。 – Danny

関連する問題