複数の div 要素を含む単一の HTML ファイルがあります。2 番目の div 要素には、送信要求がサーブレット クラスに送られ、値がデータベースに保存され、HTML ファイルが返される登録フォームがあります。しかし、最初の div 要素が開いているので、サーブレット クラスから正常に戻った後、2 番目の div 要素を登録してから開きたいと思います。
どうすれば達成できますか?
複数の div 要素を含む単一の HTML ファイルがあります。2 番目の div 要素には、送信要求がサーブレット クラスに送られ、値がデータベースに保存され、HTML ファイルが返される登録フォームがあります。しかし、最初の div 要素が開いているので、サーブレット クラスから正常に戻った後、2 番目の div 要素を登録してから開きたいと思います。
どうすれば達成できますか?
JSTLを使用して、それに応じて JSP に HTML を生成させるだけです。必要に応じて.html
拡張子を.jsp
拡張子に変更するか、 で JSP サーブレット マッピングを追加することにより、HTML ファイルを JSP ファイルに変換するだけ*.html
で済みweb.xml
ます。
JSP/JSTL コードは次のようになります。
<c:if test="${success}">
<div>This will be displayed only when ${success} evaluates true.</div>
</c:if>
サーブレットで
if (success) {
request.setAttribute("success", true);
}
これはかなり基本的な例であることに注意してください。サーブレットが、成功した送信を示すリクエストまたはセッション属性として何かをすでに設定している場合、たとえば、登録およびログインしているユーザーをセッションスコープに配置するなど
session.setAttribute("user", user);
次に、次のように JSTL で条件付きチェックを実行できます。
<c:if test="${not empty user}">
<div>This will be displayed only when ${user} is present in the scope.</div>
</c:if>
<c:choose>
ちなみに、複数の条件がある場合は、代わりにa を使用することもできます。
document.getElementById('div1').style.display='none';
document.getElementById('div2').style.display='block';