2016-03-24 3 views
0

Я новичок в JSP и ajax, но стараюсь одновременно.Как получить JSP-параметр динамически? (или создать параметр JSP)

Я делаю динамическую вкладку, которую можно добавить или удалить с помощью этих шагов.

I wannna помещает параметр из контроллера в область содержимого новой добавленной вкладки.


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("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()); 

Тогда сейчас, как получить этот projectContent в JSP?

Я попытался добавить ярлык 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. –

Смежные вопросы