0

すべてのナビゲーションが div の非表示と表示によって処理される Web サイトを作成しようとしています。この方法はシングルページインターフェースと呼ばれていると理解しています。これは過去に単純なデザインで機能していましたが、現在のタスクはこの方法を使用すると非常に面倒になり始めています. 同じ動作を複製する方法はありますが、div を非表示にして表示する代わりに、サーバーから目的の html を取り込むメイン コンテナー div を作成することはできますか?

例:

<script>
    $("#button").onclick(function() {
        $("#a").show();
        $("#b").hide();
    });
</script>

<html>
    <body>
        <div id="a" style="display:none;">A: SOME HTML</div>
        <div id="b" style="display:block;">B: SOME HTML</div>
        <button id="button">Change to A</button>
    </body>
</html>

(これは私がやろうとしている白の非常に大まかな例であることに注意してください)

しかし、いくつかのjspを介してコンテナdivの内容を「B」から「A」に変更したいと思います

誰かが正しい方向を指すことができますか?

さらなる説明:

たぶん、もう少し明確にすることができます。そのため、ユーザーがページをロードすると、データベース内のすべての既存ファイルのテーブルを含むセクションが表示されます。ユーザーは、DB リストからファイルを選択して、名前変更またはコピーすることができます。たとえば、ユーザーがファイルの名前を変更したい場合は、選択したファイルに入力された一連のフィールドと空のフィールドのセットを含む新しい表示 (すべて同じ「タブ」内) が表示されます。ここで、新しいファイル名を指定できます。現在、この表示の切り替えはdivの表示・非表示で対応していますが、表示したいhtmlをサーバーから取得して提示したいと考えています。基本的に、div の非表示と表示を模倣します。

4

1 に答える 1

1

あなたが何をしようとしているのか私には完全には明らかではないので、私はあなたにいくつかのオプションを与えます:

  1. ページ上の要素のコンテンツを置き換えます。を参照してください。
  2. JSPを使用しているため、サーバー側のロジックを使用して特定のフラグメントを表示できます
  3. JSPを使用している場合は、それを使用してサーバー側のコンテンツをレンダリングします

広告1:

(jQueryを想定)http://api.jquery.com/load/$('body').load('serverSide.html');を参照

広告2:

<% if ("a".equals(request.getParameter("aOrB"))) { %>
<jsp:include page="/a.jspf">
<% } else { %>
<jsp:include page="/b.jspf">
<% } %}

広告3:

<%= request.getAttribute('content') %>

お役に立てば幸い

于 2013-02-21T08:49:56.293 に答える