1

私の JSP ページにはいくつかのタブがあります。いくつかのフォーム フィールドを含む各タブ。送信ボタンをクリックすると、サーブレットが呼び出されます。サーブレットが処理された後、サーブレットから次のタブに移動する方法はありますか?

index.jspタブと最初のタブのコードは次のとおりです

<div class="span12">
        <div class="navbar btn-navbar">
            <div id="tabs" class="tabbable">
                <ul id="myTab" class="nav nav-tabs">
                    <li class="active"><a href="#datacollector" target="main"
                        data-toggle="tab">Data Collector</a></li>
                    <li id="fromDB" class="selectDataloadType" style="display: none;"><a
                        href="#fromDatabase" target="main" data-toggle="tab">Data Load
                            Database</a></li>
                    <li id="fromFile" class="selectDataloadType" style="display: none;"><a
                        href="#fromFiles" target="main" data-toggle="tab">Data Load
                            File</a></li>
                    <li id="email" class="selectDataloadType" style="display: none;"><a
                        href="#fromEmail" target="main" data-toggle="tab">Data Load
                            Email</a></li>
                    <li id="webServices" class="selectDataloadType"
                        style="display: none;"><a href="#fromWebServices"
                        target="main" data-toggle="tab">Data Load Web</a></li>
                    <li><a href="#datamap" target="main" data-toggle="tab">Data
                            Map</a></li>
                    <li><a href="#schedule" target="main" data-toggle="tab">Schedule</a></li>
                </ul>
                <br> <br> <br> <br> <br>
                <div id="myTabContent" class="tab-content">
                    <div class="tab-pane fade in active" id="datacollector">
                        <div class="container">
                            <div class="row">
                                <div class="span8">
                                    <form name="selectType" action="selectType" method="get">
                                        <fieldset>
                                            <label class="control-label" for="dataloadType">Data
                                                load Type:</label> <select id="dataloadType" name="dataloadType">
                                                <option>Choose Data load Type</option>
                                                <option value="fromDB">From Database</option>
                                                <option value="fromFile">From File</option>
                                                <option value="email">E-mail</option>
                                                <option value="webServices">Web Services</option>
                                            </select>
                                            <p>
                                                <button type="submit" class="btn btn-success">Submit</button>
                                            </p>
                                        </fieldset>
                                    </form>
                                </div>
                            </div>
                        </div>
                    </div>

したがって、送信ボタンをクリックすると、サーブレットが呼び出されます。私のサーブレットでは、何かを処理しています。その後、サーブレットを同じindex.jspタブと次のタブにリダイレクトしたい私のサーブレットでこれを試しました

RequestDispatcher rd = request.getRequestDispatcher("index.jsp#fromDatabase");
rd.forward(request, response);

しかし、それは機能していませんでした。何か方法はありますか?

@JB Nizetによって提供されたソリューションを試した後のUPDATE 1

これが私のLIコードです

<li id="fromDB" class="selectDataloadType <c:if test="${activeTab == 'fromDatabase'}">active</c:if>" style="display: none;"><a
                        href="#fromDatabase" target="main" data-toggle="tab">Data Load
                            Database</a></li>

そして、私のindex.jspに次のように表示されます

ここに画像の説明を入力

これは二重引用符が原因であることを知っています。私はそれを修正することができません。

4

1 に答える 1

0

サーブレットは、どのタブをアクティブにする必要があるかを単純に判断し、この情報をリクエスト属性に格納してから JSP に転送する必要があります。例えば:

request.setAttribute("activeTab", "fromDatabase");

そして、JSP はこの情報を使用して、適切なタブをアクティブにする必要があります。例えば:

<li id="fromDB" class="selectDataloadType <c:if test="${activeTab == 'fromDatabase'}">active</c:if>" ... 

(タブの内容についても同様)

于 2013-04-03T12:22:45.027 に答える