2015-01-17 2 views
2

Я хочу загрузить изображение загрузчика Ajax при нажатии ссылки href с id = "test". После щелчка на этом href я хочу вызвать Jsp Servlet, ведьма отправит новый запрос на загрузку новой страницы .jsp.Ajax Call to servlet и загрузить новую страницу

Проблема в данный момент заключается в том, что сервлет будет вызван, но он не делает запрос на новую страницу. Кто-нибудь может мне помочь?

Мой код выглядит следующим образом:

JSP-страница: HREF ссылка и заряжающий ДИВ

<div id="load"></div> 
<a href="#" id="test" title="#" class="mainLink">link</a> 

Servlet:

public class TestController extends HttpServlet { 

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
     // redirect to post 
     doPost(request,response); 
    } 

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
     // send to new jsp page 
     request.setAttribute(getServletContext().getInitParameter("DynamicContentLoader"),"/secure/pages/test/testPage.jsp"); 
     request.getRequestDispatcher("/collector.jsp").include(request, response); 
    } 
} 

Ajax вызов:

<script type="text/javascript"> 
    $("#test").click(function(e){ 
     e.preventDefault(); 
     $.ajax({ 

     type: "POST", 
     url: "secure/TestController.do", 

     beforeSend : function(xhr, opts){ 
      //show loading gif 
      $('#load').addClass('loader'); 
     }, 
     success: function(){ 
      // nothing to do at this time 
     }, 
     complete : function() { 
      //remove loading gif 
      $('#laden').removeClass('loader'); 
     } 
    }); 
    }); 
</script> 

Это часть, которая будет включать новая страница JSP в сервлет responseDispatcher:

<c:when test="${not empty requestScope.includeJspContent}"> 
    <!-- start Dynamic Generated Context --> 
    <jsp:include page="${requestScope.includeJspContent}" /> 
    <!-- end Dynamic Generated Context --> 
</c:when> 
<c:otherwise> 
    <!-- start no dynamic data found --> 
    <jsp:include page="/error/no_dynamic_content.jsp" /> 
    <!-- end no dynamic data found --> 
</c:otherwise> 

ответ

0

Слишком много лет осталось, так как я использовал JavaEE, но, насколько я помню, стандартный способ визуализации JSP является использование RequestDispatcher.forward() метод, если вы не сцепить выходов. Так что, возможно, это тоже проблема.

Но я могу определенно видеть, что вы просто не включаете свой ответ, какой бы он ни был на вашу страницу. Добавьте его в свой обработчик success:

success: function(resp){ 
    $('#load').removeClass('loader'); 
    $('#load').html(resp); 
}, 
+0

Я хочу использовать загрузчик img для загрузки новой страницы jsp. Я установил местоположение этой страницы с помощью requestDispatcher. – CodeWhisperer

+0

У меня есть часть, в которой будет показана новая страница jsp – CodeWhisperer

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