2016-03-24 10 views
0

私はJSPとAjaxを初めて使っていますが、同時に両方を試しています。動的にJSPパラメータを取得するには? (またはJSPパラメータを作成する)

私は、これらの手順で追加または削除できる動的タブを作成しています。

新たに追加されたタブのコンテンツ領域に、コントローラからwannna putパラメータを入力します。


1.リストから[プロジェクトを読み込む]ボタンをクリックすると、新しいタブが追加されます。

$('<li role="presentation">' 
    +'<a href="#'+tabId+'" aria-controls="'+tabId+'" role="tab" data-toggle="tab">' 
    +$projectName 
    +' <span class="closeTab glyphicon glyphicon-remove" aria-hidden="true"></span>' 
    +'<input class="hiddenProjectId" type="text" name="projectId" value="'+ pId +'" style="display: none;">' 
    +'</a></li>').insertBefore('#liProjectTabAdd'); 


$('<div role="tabpanel" class="tab-pane fade" id="'+ tabId + '">' 
       + '<div class="projectContent">' 
       + '<ul class="blockList list-unstyled draggableList"></ul>' 
       + '<div class="table-hover addBlock">' 
       + 'add block <span id="addBlockGlyp" class="glyphicon glyphicon-plus" aria-hidden="true"></span>' 
       + '</div></div>' 
       + '</div>').appendTo('.projectTab-content'); 

2.call AJAXを介してコントローラ(POSTメソッド)

$.post("loadProjectContent.do", 
    { 
     projectId: pId 
    } 
); 

3.コントローラコールDAOと、プロジェクトの内容を取得します。 (内容が正しい。私は、印刷して、それをチェックする)

Project project = new Project(); 

project.setProjectId(Integer.parseInt(request.getParameter("projectId"))); 

dao.doGetProjectContent(project); 

request.setAttribute("projectContent", project.getProjectContent()); 

それから、今、JSPでこのprojectContentを取得する方法?

タブを追加するときにjspタグを追加しようとしましたが、生のテキストでした。

(のような~~~ $ {projectContent} ~~~)

$('<div role="tabpanel" class="tab-pane fade" id="'+ tabId + '">' 
    + '<div class="projectContent">' 
    + '<ul class="blockList list-unstyled draggableList">' 
    + '${ projectContent }' 
    + '</ul>' 
    + '<div class="table-hover addBlock">' 
    + 'add block <span id="addBlockGlyp" class="glyphicon glyphicon-plus" aria-hidden="true"></span>' 
    + '</div></div>' 
    + '</div>').appendTo('.projectTab-content'); 

この初心者

答えて

0

は要求属性としてそれを追加するのではなく、応答にprojectContentを書いて保存してください。

クライアント側では、AJAXリクエストの応答を解析してDOMに追加します。

+0

申し訳ありません。あなたはresponse.setHeader()のような応答メソッドを意味しますか? –

+0

いいえ、レスポンス本文に書き込んでください。あなたの 'projectContent'のタイプが何であるか分かりません。文字列でない場合は、文字列またはJSONオブジェクトにシリアル化することをお勧めします。 –

関連する問題