Каков недостаток DWR?

Если вы используете ajax для загрузки модального тела таким способом и хотите иметь возможность перезагрузить его содержимое

<a data-toggle="modal" data-target="#myModal" href="./add">Add</a>
<a data-toggle="modal" data-target="#myModal" href="./edit/id">Modify</a>

<div id="myModal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <!-- Content will be loaded here -->
        </div>
    </div>
</div>

используйте

<script>
    $(function() {
        $('.modal').on('hidden.bs.modal', function(){
            $(this).removeData('bs.modal');
        });
    });
</script>
12
задан Brian Agnew 17 June 2009 в 12:36
поделиться

4 ответа

Я работал над проектом с DWR - действительно хороший инструмент.

Я не уверен в темпах разработки. Они опубликовали в журнале разработки , что работают над выпуском 3.0, но последний стабильный выпуск - 2.0 - вышел летом 2006 года. Это немного тревожно с точки зрения поддержки - ошибка особенно исправления.

3
ответ дан 2 December 2019 в 20:41
поделиться

Я бы хотел обратить внимание на то, что ваш сервер, скорее всего, получит больше HTTP-запросов, чем если бы у вас была (обычная) полностраничная HTTP-доставка.

Позвольте мне объяснить. Когда ваша веб-страница поддерживает AJAX, ваши клиенты в конечном итоге будут создавать больше HTTP-запросов для (скажем) заполнения форм, регенерации фрагментов страницы и т. Д. Я видел сценарии, когда разработчики сходили с ума по AJAX и делали веб-страницу в значительной степени динамический документ. Это приводит к отличному взаимодействию с пользователем (если все сделано правильно), но каждый запрос приводит к срабатыванию сервера, что приводит к проблемам с масштабируемостью и задержкой.

Примечание. Это не относится к DWR, это проблема AJAX. Я использовал DWR, и он отлично работает. К сожалению, я обнаружил, что это работает так хорошо и так легко, что все становится кандидатом на удаленное взаимодействие, и вы можете получить огромное количество мелких запросов.

9
ответ дан 2 December 2019 в 20:41
поделиться

Main problem I've experienced is trying to script a load test on a system where the main bulk of the work is done via DWR calls. The format of the calls is difficult to replicate when compared with just replying a bunch of urls with changing parameters.

Still DWR is an excellent framework and makes implementing Javascript -> Java RPC pretty damn easy.

2
ответ дан 2 December 2019 в 20:41
поделиться

DWR - отличный инструмент, когда на вашем сайте много вызовов ajax.

Каждая страница, которая выполняет вызовы dwr rpc, должна включать:

a) файл интерфейса, соответствующий выполняемым вызовам. и б) файл js, связанный с dwr, который содержит код движка dwr, который делает эти вызовы возможными. например,

один метод, который часто используется при оптимизации веб-приложений, состоит в том, чтобы максимально использовать кеш браузера, когда ресурс (например, файл js) не изменился на сервере.

engine.js - это то, что никогда не изменится, если вы не обновите свой dwr до более новой версии. Но по умолчанию engine.js не является статическим файлом, обслуживаемым вашим веб-сервером. он входит в состав инструмента dwr itsef и обслуживается контроллером / сервлетом dwr. это не помогает кэшированию на стороне клиента.

Таким образом, полезно сохранить engine.js в корневом каталоге документов вашего веб-сервера и позволить веб-серверу обслуживать его как статический файл.

0
ответ дан 2 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: