Avec le développement rapide des applications Web, la technologie front-end devient de plus en plus importante. Dans cet article, nous examinerons en profondeur comment utiliser Ajax et JavaScript dans JSP pour obtenir des effets en cascade.
1. Qu'est-ce que la cascade ?
Cascading signifie qu'après avoir sélectionné une option dans une liste déroulante, les options dans l'autre liste déroulante changeront également en conséquence. Par exemple, si vous sélectionnez Pékin dans la liste déroulante « Province », les options de la liste déroulante « Ville » changeront automatiquement pour la ville à laquelle appartient Pékin.
2. Ajax et JavaScript en JSP
En JSP, on peut utiliser Ajax et JavaScript pour interagir avec l'interface. Parmi eux, Ajax est l'abréviation de Asynchronous JavaScript and XML (asynchronous JavaScript and XML). Il utilise les technologies JavaScript et XML pour mettre à jour une partie d'une page sans recharger la page entière. JavaScript est un langage de script qui peut être exécuté dans le navigateur. Il peut exploiter des pages HTML et obtenir des effets dynamiques sur les pages Web.
3. Comment mettre en place le cascading ?
Dans le front-end, nous devons définir le code des deux listes déroulantes. Par exemple, nous définissons une liste déroulante « province » et une « ville » :
<label for="province">省份</label> <select id="province"> <option value="0">请选择</option> <option value="1">北京市</option> <option value="2">上海市</option> <option value="3">广东省</option> </select> <label for="city">城市</label> <select id="city"> <option value="0">请选择</option> </select>
Ici nous utilisons l'attribut id pour nommer les listes déroulantes afin qu'elles puissent être manipulées en JavaScript.
En arrière-plan, nous devons définir une interface pour obtenir une liste de villes. Par exemple, nous pouvons utiliser le framework Spring MVC pour implémenter cette fonction :
@RestController @RequestMapping("/city") public class CityController { @GetMapping("/{provinceId}") public List<City> getCityList(@PathVariable int provinceId) { List<City> cityList = null; // 查询城市列表的代码 return cityList; } @Data public static class City { private int id; private String name; } }
Ici, nous définissons une classe CityController et obtenons la liste des villes dans sa méthode getCityList et la renvoyons. Notez que nous définissons également une classe interne City pour représenter les informations sur la ville.
En JavaScript, nous devons effectuer une série d'opérations, notamment :
$(document).ready(function () { $("#province").change(function () { var provinceId = $(this).val(); if (provinceId > 0) { $.get("/city/" + provinceId, function (data) { var citySelect = $("#city"); citySelect.empty().append('<option value="0">请选择</option>'); $.each(data, function (index, city) { citySelect.append('<option value="' + city.id + '">' + city.name + '</option>'); }); }); } else { $("#city").empty(); } }); });
Dans ce JavaScript code, nous définissons une méthode prête. Une fois la page chargée, implémentons. Ensuite, nous avons écouté l'événement de sélection de la liste déroulante « Province » et obtenu sa valeur. Si la valeur est supérieure à 0, cela signifie que l'utilisateur a sélectionné une province valide, et nous utilisons la méthode $.get pour envoyer une requête Ajax en arrière-plan afin d'obtenir la liste des villes correspondante. Après avoir obtenu avec succès la liste des villes, nous avons mis à jour dynamiquement le contenu de la liste déroulante « Ville ». Sinon, si l'utilisateur sélectionne « Veuillez sélectionner », nous effaçons la liste déroulante « Ville ».
4. Résumé
Cet article explore en profondeur la méthode d'utilisation d'Ajax et de JavaScript dans JSP pour obtenir des effets en cascade. En définissant des listes déroulantes sur le front-end, en définissant des interfaces sur le backend et en invoquant des événements JavaScript et des méthodes Ajax, nous pouvons facilement obtenir des effets en cascade, améliorer l'expérience utilisateur et rendre les applications Web plus pratiques et efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!