現在、HTMLページからサーブレットにフォームデータを送信して処理し、displayresults.jspページに転送/リダイレクトすることで結果を返すことができます。しかし、私はこの方法でフォーム提出を処理し、その結果を最初のページに返す方法があるのだろうかと思います。私が戻ってほしいものがフォームの下に現れるように。JSPの現在のページにフォーム処理結果を表示
最終的な考え方は、検索機能を一番上にしてから、検索結果を下に同じページに表示することです。
現在、HTMLページからサーブレットにフォームデータを送信して処理し、displayresults.jspページに転送/リダイレクトすることで結果を返すことができます。しかし、私はこの方法でフォーム提出を処理し、その結果を最初のページに返す方法があるのだろうかと思います。私が戻ってほしいものがフォームの下に現れるように。JSPの現在のページにフォーム処理結果を表示
最終的な考え方は、検索機能を一番上にしてから、検索結果を下に同じページに表示することです。
はい
簡単な例についてはこれを参照http://www.tek-tips.com/viewthread.cfm?qid=1189624&page=11
あなたのユースケースは、検索結果から別の場所にジャンプして戻ってくることを意味し、セッションで検索結果を維持したい場合があります。
<c:choose>
<c:when test="${empty param.search}">
<form method="post"><input type="text" name="search" /></form>
</c:when>
<c:otherwise>
<%-- show search result here. --%>
</c:otherwise>
</c:choose>
私は標準のcタグが好きです。投稿されたリンクの例は、90年代のスクリプトレットを使用していました。 – pjp
そうです、スクリプトレットはとても面倒です! –
個人的には、私はほとんどの場合、「検索基準の収集」と「結果の表示」を同じサーブレットまたはJSPファイルに入れます。私は、この基本的な構造でそれらを書く:
if request data is present
collect search criteria from request object
check for errors
else // i.e. first time in
fill search criteria with blanks or defaults
end if
display error messages // if any, of course
display search criteria // either what we got from last cycle or defaults
if request data was present
process request
display results
end if
エラーで、私は戻って、不正なデータを表示するには、ユーザが間違っていただけで何修正してみましょう、その後、サイクルするように設定していますので、私はこのような構造が好き。成功すると、彼は基準を調整して再実行するように設定されています。すべてが1か所にありますが、構造化されているので混乱することはありません。
サーブレットを使用することはほとんどありません。私は、トップレベルでJSPを使用し、単純ではない非表示コードを、単に呼び出す他のクラスに入れたいと思いますが、実装の詳細です。原則は、JSPの場合と同様にサーブレットと同様に機能します。
ああ、これは本当に答えが単純すぎるように思えた時代の1つです。ありがとうございました –