Cet exemple utilise les fonctions getValues() et setValues() qui mappent automatiquement les propriétés d'un objet avec
les objets de l'arbre DOM dont l'id correspond.
Remarque : il est important que l'objet personne qui encapsule les données de la personne soit correctement initialisé, ce
qui est fait au chargement des données de la personne.
55.4.1.10. Exemple pour remplir dynamiquement un tableau de données
Cet exemple va remplir dynamiquement le contenu d'un tableau avec une collection d'objets.
Un clic sur le lien permet d'afficher le tableau avec les données retournées par le serveur.
Un clic sur le bouton valider affiche un message avec le nom et le personne concernée.
Développons en Java 1007
té serveur la thode getPersonnes() du bean est appee pour obtenir la liste des personnes sous la forme d'une
collection d'objets de type Personne.
Exemple :
public List getPersonnes() {
List resultat = new ArrayList();
Personne personne = null;
for (int i = 0; i<10 ; i++) {
personne = new Personne("nom"+i,"prenom"+i,i+"/05/2006",170+i);
resultat.add(personne);
}
return resultat;
}
La page de l'application est composée d'un calque contenant un tableau.
Exemple :
<%@ page language="java" contentType="text/html; charset=ISO−8859−1"
pageEncoding="ISO−8859−1"%>
<!DOCTYPE HTML PUBLIC "−//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http−equiv="Content−Type" content="text/html; charset=ISO−8859−1">
<title>Test remplir un tableau avec DWR</title>
<script type='text/javascript' src='/testwebapp/dwr/interface/TestDWR.js'></script>
<script type='text/javascript' src='/testwebapp/dwr/engine.js'></script>
<script type='text/javascript' src='/testwebapp/dwr/util.js'></script>
<script type='text/javascript'>
<!−−
function rafraichirListeValeurs() {
Développons en Java 1008
TestDWR.getPersonnes(remplirListeValeurs);
}
function remplirListeValeurs(data) {
DWRUtil.removeAllRows("tableau");
if (data.length == 0) {
alert("");
$("donnees").style.visibility = "hidden";
} else {
DWRUtil.addRows("tableau",data,cellulesFonctions);
$("donnees").style.visibility = "visible";
}
}
// tableau des fonctions permettant d'assurer le rendu des différentes cellules du tableau
var cellulesFonctions = [
function(item) { return item.nom; },
function(item) { return item.prenom; },
function(item) { return item.dateNaissance; },
function(item) { return item.taille; },
function(item) {
var btn = document.createElement("button");
btn.innerHTML = "Visualiser";
btn.itemId = item.nom+" "+item.prenom;
btn.onclick = afficherPersonne;
return btn;
}
];
function afficherPersonne() {
alert("Affichage demandé de la personne : "+this.itemId);
}
function init() {
DWRUtil.useLoadingMessage();
}
−−>
</script>
</head>
<body onload="init();">
<p><a href="#" onclick="rafraichirListeValeurs()">Obtenir les donnees</a></p>
<div id="donnees"><table id="tableau" border="1" cellpadding="4" cellspacing="0"></table></div>
</body>
</html>
Cet exemple met en oeuvre les fonctions de manipulation de tableau de la bibliothèque util.js notamment la fonction
DWRUtil.addRows("tableau",data,cellulesFonctions) qui permet d'ajouter un ensemble de lignes à un tableau HTML.
Elle attend en paramètre l'id du tableau à modifier, les données à utiliser et un tableau de fonctions qui vont définir le
rendu de chaque cellule d'une ligne du tableau. Ces fonctions peuvent simplement retourner la valeur d'une propriété de
l'objet courant ou renvoyer des objets plus complexes comme un bouton.
Remarque : il est préférable d'utiliser un id pour les boutonss qui soit plus adap pour une meilleure unici. Il
serait souhaitable d'utiliser un suffixe et un identifiant unique plutôt que la concanation du nom et du prénom. Ce
choix, dans cet exemple, a été fait pour le conserver le plus simple possible.
55.4.2. D'autres frameworks
Ils existent de nombreux autres frameworks permettant de mettre en oeuvre Ajax donc voici une liste non exhaustive :
Framework Url
Développons en Java 1009
AjaxAnywhere http://ajaxanywhere.sourceforge.net
AjaxTags http://ajaxtags.sourceforge.net/
ajax4suggest http://sourceforge.net/projects/ajax4suggest
AJAX•JSF http://smirnov.org.ru/en/ajax•jsf.html
Echo 2 http://www.nextapp.com/products/echo2/
SWATO http://swato.dev.java.net/
WidgetServer http://wiser.dev.java.net
jWic http://www.jwic.de
Développons en Java 1010
Partie 8 : Les outils pour le développement
Le développement dans n'importe quel langage nécessite un ou plusieurs outils. D'ailleurs la multitude des technologies
mises en oeuvre dans les projets récents nécessitent l'usage de nombreux outils.
Ce chapitre propose un recensement non exhaustif des outils utilisables pour le développement d'applications Java et une
présentation détaillée de certains d'entre eux.
Le JDK fournie un ensemble d'outils pour réaliser les développements mais leurs fonctionnalités se veulent
volontairement limitées au strict miminum.
Enfin, le monde open source propose de nombreux outils très utiles.
Cette partie contient les chapitres suivants :
Les outils du J.D.K. : indique comment utiliser les outils fournis avec le JDK
JavaDoc : explore l'outil de documentation fourni avec le JDK
Les outils libres et commerciaux : tente une énumération non exhaustive des outils libres et commerciaux pour
utiliser java
Ant : propose une présentation et la mise en oeuvre de cet outil d'automatisation de la construction
d'applications
Maven : présente l'outil open source Maven qui facilite et automatise certaines taches de la gestion d'un projet
Développons en Java 1011
1 / 267 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !