В проектах мы часто сталкиваемся с сегментацией страниц — наиболее распространенным основным интерфейсом системы или сайта. Главная страница разделена на введение в систему вверху, введение автора внизу, меню системных функций слева и интерфейс, в котором фактически отображается меню, справа.
Встречая этот тип разделенной страницы, первое, о чем все думают, — это набор фреймов. Использование набора фреймов для разделения нескольких фреймов — простой метод. Если вам не нравится использовать набор фреймов, люди, которым нравится дизайн внешнего интерфейса, могут выбрать сращивание и плавание p, что проверит ваши навыки стиля CSS.
На этот раз мы в основном объясняем проблему частичного обновления. Требования: левая рама, правая рама.
Вам, должно быть, интересно, с таким обновлением нет проблем. Действительно. Теперь используйте набор фреймов, чтобы разделить два кадра и обновить каждый. Просто обновите и отправьте меню, отображаемое в рамке справа. На левый кадр это не влияет.
Для простоты понимания левый фрейм называется LeftFrame, а правый — RightFrame. Если я отправляю страницу RightFrame, мне нужно обновить страницу LeftFrame [Dynamic]. Что делать?
Фактически это означает повторное чтение данных из базы данных;
Среди нихmodifyMenu!showTreeMenu перенаправляется на страницуtree.jsp.
В текущем проекте struts2 используется на стойке регистрации. Когда данные на правой странице отправляются, идея такова: затем снова перейти к основному интерфейсу, что эквивалентно повторному чтению данных, но уже загруженного основного интерфейса. фактически отображается в правой области, поэтому становится двумя левыми кадрами. Даже изменение перенаправления resultType в Struts2 не работает.
Наконец, простой JS решил проблему.
После отправки RightFrame на правой странице используйте JS для обновления LeftFrame слева. следующее:
Событие загрузки тела в rightFrame:
window.parent.frames[ "leftTree"].location.reload()
Когда вы находитесь в конце определенного хода мыслей, вы можете попытаться изменить ход своих мыслей, и вы увидите светлое будущее.
Требования следующие: если вы обновляете правую страницу RightFrame, обновите только часть левого LeftFrame [обновите определенный p].
Когда дело доходит до частичного обновления, на ум приходит частичное обновление Ajax.
Затем мы используем чистую базовую реализацию JS Ajax:
функция инициализации(){
//Выполняем частичное обновление
вар xmlHttpReq=createXmlHttpRequest();
//Получаем начальный URL-адрес, например действие struts2 или страницу сервлета или jsp
вар url="success.jsp";
xmlHttpReq.open("GET",url,true);
//Поскольку вы делаете асинхронный вызов,
//Поэтому вам необходимо зарегистрировать обработчик событий обратного вызова, который будет вызывать объект XMLHttpRequest
xmlHttpReq.onreadystatechange=функция(){
если (xmlHttpReq.readyState == 4) {
если (xmlHttpReq.status == 200) {
//Используем родительский элемент, чтобы получить букву p на левой странице, а затем изменяем внешний вид отображения
window.parent.frames["leftTree"].document.getElementById(pId).innerHTML="Test";
}еще{
оповещение(xmlHttpReq.status+xmlHttpReq.responseText);
}
}
};
xmlHttpReq.send (нуль);
}
window.parent.frames["leftTree"].document.getElementById(pId).innerHTML=xmlHttpReq.responseText
Метод записи в фоновом действии следующий:
Два метода обновления: одно общее обновление; одно частичное обновление;