Java >> Tutoriel Java >  >> Tag >> XML

Comment lire des données xml dans JSP en utilisant JSTL

Que sont les balises JSTL liées à XML et comment lire des données à partir de fichiers XML dans JSP à l'aide de JSTL ? Dans ce didacticiel JSTL, créons des exemples pour lire des données XML complètes, lire des données à partir d'une balise XML, lire des données au format tableau dans JSP.

Lire des données XML dans JSP à l'aide de JSTL

Afin de lire les données à partir de XML, nous avons besoin de deux fichiers XML pour stocker les informations et d'un fichier JSP contenant les balises JSTL pour lire les données à partir de XML.

employé.xml

Le fichier XML est un fichier qui contient des données dans des balises définies par l'utilisateur, de même, employee.xml est un fichier qui contient des informations sur les employés.

<?xml version="1.0" encoding="UTF-8"?>

<employees>
   <employee>
      <name>Bhupi</name>
      <age>25</age>
      <department>CS</department>
   </employee>
   
   <employee>
      <name>Bhuvi</name>
      <age>30</age>
      <department>It</department>
   </employee>
   
   <employee>
      <name>Raj</name>
      <age>20</age>
      <department>DataScience</department>
   </employee>
   
   <employee>
      <name>Ayush</name>
      <age>21</age>
      <department>AI</department>
   </employee>


</employees>

Taglib JSTL pour XML

Pour activer la balise XML JSTL sur la page Web, nous devons utiliser JSTL Taglib for XML qui est <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>  avec le noyau JSTL Taglib qui est <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Lire les données XML complètes dans JSTL

En utilisant à partir du noyau Taglib de JSTL, nous pouvons simplement importer ou inclure un fichier. et c'est tout, il suffit d'exécuter la page Web sur le navigateur, il affichera toutes les données d'un fichier XML.

<c:import url="employee.xml" var="xmlFile"></c:import>

Lire les données de balise XML dans JSP à l'aide de JSTL

Afin de lire les données d'une balise spécifique du fichier XML, nous devons analyser le fichier XML. en utilisant la balise JSTL nous pouvons analyser les données et pour les afficher sur la page Web, nous utiliserons la balise JSTL qui provient également de la bibliothèque de balises XML de JSTL .

Pour analyser XML, définissez le nom du fichier dans xml="${xmlFile}"  Attribut et variable var="xmlData"  dans Balise.

<x:parse xml="${xmlFile}" var="xmlData"></x:parse>

Pour afficher le résultat, utilisez le nom de variable défini pour select="$xmlData/employees/employee[1]/name les attributs. cela lira le nom du premier index.

<x:out select="$xmlData/employees/employee[1]/name"/>

Lire les données XML dans la boucle foreach à l'aide de JSP, JSTL

Dans la bibliothèque de balises XML JSTL, nous avons la balise de pré-construction qui est utilisé pour obtenir tous les nœuds. Pour rechercher les données de nœud spécifiques, nous pouvons nous utiliser <x:out select="name"/> Balise.

<x:parse xml="${xmlFile}" var="xmlData"></x:parse>

<x:forEach select="$xmlData/employees/employee">

<x:out select="name"/>
<br/>

</x:forEach>

Lire les données XML et les afficher sous forme de tableau en JSTL et JSTL

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Read data from XML </title>
<c:import url="employee.xml" var="xmlFile"></c:import>

</head>
<body>

<x:parse xml="${xmlFile}" var="xmlData"></x:parse>
<table border="1">
<tr>
<th>Name</th>
<th>Age</th>
<th>Department</th>
</tr>

<x:forEach select="$xmlData/employees/employee">

<tr>

<td><x:out select="name"/></td>
<td><x:out select="age"/></td>
<td><x:out select="department"/></td>

</tr>


</x:forEach>

</table>

</body>
<footer>
</footer>
</html>


Balise Java