Если вы используете 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>
Я работал над проектом с DWR - действительно хороший инструмент.
Я не уверен в темпах разработки. Они опубликовали в журнале разработки , что работают над выпуском 3.0, но последний стабильный выпуск - 2.0 - вышел летом 2006 года. Это немного тревожно с точки зрения поддержки - ошибка особенно исправления.
Я бы хотел обратить внимание на то, что ваш сервер, скорее всего, получит больше HTTP-запросов, чем если бы у вас была (обычная) полностраничная HTTP-доставка.
Позвольте мне объяснить. Когда ваша веб-страница поддерживает AJAX, ваши клиенты в конечном итоге будут создавать больше HTTP-запросов для (скажем) заполнения форм, регенерации фрагментов страницы и т. Д. Я видел сценарии, когда разработчики сходили с ума по AJAX и делали веб-страницу в значительной степени динамический документ. Это приводит к отличному взаимодействию с пользователем (если все сделано правильно), но каждый запрос приводит к срабатыванию сервера, что приводит к проблемам с масштабируемостью и задержкой.
Примечание. Это не относится к DWR, это проблема AJAX. Я использовал DWR, и он отлично работает. К сожалению, я обнаружил, что это работает так хорошо и так легко, что все становится кандидатом на удаленное взаимодействие, и вы можете получить огромное количество мелких запросов.
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.
DWR - отличный инструмент, когда на вашем сайте много вызовов ajax.
Каждая страница, которая выполняет вызовы dwr rpc, должна включать:
a) файл интерфейса, соответствующий выполняемым вызовам.
и
б) файл js, связанный с dwr, который содержит код движка dwr, который делает эти вызовы возможными. например,
один метод, который часто используется при оптимизации веб-приложений, состоит в том, чтобы максимально использовать кеш браузера, когда ресурс (например, файл js) не изменился на сервере.
engine.js - это то, что никогда не изменится, если вы не обновите свой dwr до более новой версии. Но по умолчанию engine.js не является статическим файлом, обслуживаемым вашим веб-сервером. он входит в состав инструмента dwr itsef и обслуживается контроллером / сервлетом dwr. это не помогает кэшированию на стороне клиента.
Таким образом, полезно сохранить engine.js в корневом каталоге документов вашего веб-сервера и позволить веб-серверу обслуживать его как статический файл.