Как загрузить внешний Div, имеющий динамический контент, используя ajax и jsp / servlets? - PullRequest
1 голос
/ 25 апреля 2010

Мне нужно использовать функцию ajax для загрузки внешнего элемента div (внешнего файла jsp) на текущую страницу. Эта страница JSP содержит динамическое содержимое - например, содержимое, основанное на значениях, полученных из текущего сеанса.

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

У меня есть три файла:

  • Функция Javascript, запускаемая при нажатии на элемент TR , запрашивает html-данные из сервлета:

    $("#inboxtable tbody tr").click(function(){
    
        var trID = $(this).attr('id');
        $.post("event?view=read",{id:trID}, function(data){
            $("#eventContent").html(data); // load external file
        },"html"); // type
    
    });
    
  • Сервлет «событие» загружает данные и генерирует контент HTML, используя include метод:

    String id = request.getParameter("id");
    if (id != null) {
       v.add("Test");
       v.add(id);
       session.setAttribute("readMessageVector", v);
       request.getRequestDispatcher("readMessage.jsp").include(request, response);
    }
    
  • Наконец: внешний readMessage jsp файл выглядит так:

    <p>
       Text: ${readMessageVector[0]}
    </p>
    <p>
       ID:   ${readMessageVector[1]}
    </p>
    

    Мои вопросы

  • Достаточно ли этого решения для решения этой проблемы - загрузки внешнего jsp с динамическим содержимым?

  • Есть ли лучшее решение? например, поместить все элементы DIVs в один файл вместо загрузки их из внешнего файла и показать или скрыть эти элементы, используя javascript / jquery в одном файле? Таким образом, я буду использовать только JSON?

1 Ответ

1 голос
/ 25 апреля 2010

Мне кажется, что это решение подходит. Если в будущем вы начнете совершать множество различных вызовов AJAX, вам лучше будет вернуть легкий ответ, такой как JSON, из jsps - это сэкономит пропускную способность, а jQuery можно использовать для создания громоздкой разметки HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...