Dans les projets, nous rencontrons souvent la segmentation des pages, l'interface principale la plus courante d'un système ou d'un site Web. La page principale est divisée en introduction du système en haut, introduction de l'auteur en bas, menu des fonctions du système à gauche et interface où le menu est réellement affiché à droite.
Lorsqu'on rencontre ce type de page divisée, la première chose à laquelle tout le monde pense est le jeu de cadres. Utiliser un jeu de cadres pour diviser plusieurs cadres est une méthode simple. Si vous n'aimez pas utiliser frameset, les personnes qui aiment la conception frontale peuvent choisir l'épissage p et le flottement, ce qui testera vos compétences en style CSS.
Cette fois, nous expliquons principalement le problème du rafraîchissement partiel. Les exigences sont les suivantes : cadre gauche, cadre droit.
Vous devez vous demander, il n’y a aucun problème avec un rafraîchissement comme celui-ci. En effet. Utilisez maintenant frameset pour diviser les deux images et mettre à jour chacune d'entre elles. Mettez simplement à jour et soumettez le menu affiché dans le cadre de droite. Cela n'a aucun effet sur le cadre de gauche.
Pour faciliter la compréhension, le cadre de gauche est appelé LeftFrame et le cadre de droite est appelé RightFrame ; si je soumets la page RightFrame, je dois mettre à jour la page LeftFrame [Dynamic]. Ce qu'il faut faire?
En fait, cela signifie relire les données de la base de données ;
Parmi eux modifierMenu!showTreeMenu est redirigé vers la page tree.jsp
Dans le projet actuel, struts2 est utilisé à la réception Lorsque les données sur la page de droite sont soumises, l'idée est la suivante : puis revenir à l'interface principale, ce qui équivaut à relire les données, mais l'interface principale chargée. est en fait affiché dans la zone de droite, il devient donc deux LeftFrame. Même changer la redirection de resultType dans Struts2 ne fonctionne pas.
Finalement, un simple JS a résolu le problème.
Après avoir soumis le RightFrame sur la page de droite, utilisez JS pour mettre à jour le LeftFrame sur la gauche. comme suit:
L'événement onload du corps dans rightFrame :
window.parent.frames[ "leftTree"].location.reload()
Lorsque vous êtes à la fin d’un certain cheminement de pensée, vous pouvez essayer de changer votre cheminement de pensée et vous verrez un avenir radieux.
Les exigences sont les suivantes : Si vous actualisez la page RightFrame de droite, actualisez uniquement une partie du LeftFrame de gauche [rafraîchir un certain p].
Lorsqu'il s'agit de rafraîchissement partiel, le rafraîchissement partiel Ajax doit venir à l'esprit.
Ensuite, nous utilisons l'implémentation de base pure js Ajax :
fonction init(){
//Effectuer un rafraîchissement partiel
var xmlHttpReq=createXmlHttpRequest();
//Obtenir l'URL de départ, telle que l'action struts2 ou le servlet ou la page jsp
var url="succès.jsp";
xmlHttpReq.open("GET",url,true);
//Parce que vous effectuez un appel asynchrone,
// Vous devez donc enregistrer un gestionnaire d'événements de rappel que l'objet XMLHttpRequest appellera
xmlHttpReq.onreadystatechange=fonction(){
si(xmlHttpReq.readyState==4){
si(xmlHttpReq.status==200){
//Utilisez parent pour obtenir un p dans la page de gauche, puis modifiez l'apparence de l'affichage
window.parent.frames["leftTree"].document.getElementById(pId).innerHTML="Test";
}autre{
alerte(xmlHttpReq.status+xmlHttpReq.responseText);
}
}
} ;
xmlHttpReq.send(null);
}
window.parent.frames["leftTree"].document.getElementById(pId).innerHTML=xmlHttpReq.responseText
La méthode d'écriture dans l'action en arrière-plan est la suivante :
Deux méthodes d'actualisation, une actualisation globale ; une actualisation partielle ;