Sans remettre en question le fait que XSP a ete "deprecated" et est
moins propre que Flow+JXT
Je n'ai pas toujours bien compris ces débats. Il y a du PHP très propre,
et des labyrinthes objet en JAVA illisible ? Qu'est-ce qui ne va pas
dans XSP ?
J'avais l'autre jour ce pb bête, une petite page d'admin qui affiche des
contrôles pour les gens authentifiés.
J'ai fait une page xsp du genre
<xsp:page>
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Administration</title>
<body>
<xsp:logic>
String user=request.getParameter("user");
if ("".equals(user)) session.removeAttribute("user");
else if(user != null) session.setAttribute("user", user);
else user=session.getAttribute("user");
/* même chose pour pass */
boolean allowed=MyAuth.validUser(user, pass);
if (!allowed) {
<form>
<input name="user"/>
<input name="pass"/>
</form>
} else {
Object[] records=getRecords();
for (int i=0; i< records.length; i++) {
<form>
<xsp:logic>records[i].toSax(this.contentHandler);</xsp:logic>
<button name="add">Ajouter</button>
<button name="del">Supprimer</button>
</form>
}
</xsp:logic>
</body>
</xsp:page>
Le html est très pauvre, il est traitée ensuite dans les tuyaux XSL
sitemap, il n'y a pas de mélange contenu présentation.
Il n'y pas vraiment de contenus, mais une logique de génération de
contenus, et des contrôles.
Je ne sais pas si c'est du mauvais design, mais il y a quelque chose de
très pratique pour la maintenance de cette page,
<input name="user"/>
String user=request.getParameter("user");
On sait ce que le client envoit, et on l'attrappe, dans des syntaxes qui
ne demandent pas d'apprentissage, sans courir une caisse de fichiers
dont il faut assurer le parallélisme. S'il faut plus de traitements,
<xsp:include>org.domain.app.MyAuth</xsp:include>,
<xsp:include>org.domain.app.MyDB</xsp:include>...
Cette logique me semble moins captive (car un développement libre peut
très bien entrer dans un logique propriétaire qui enferme), peut être
portée dans d'autres environnements, car ma donnée compte plus que
l'application pour la servir.
Ceci dit, une chaîne de génération aussi proprement XML/JAva ne se
laisse pas tomber comme ça.
--
Frédéric Glorieux ("AJLSM", <http://ajlsm.com>)
|