Question

En utilisant Développeur J, j'ai commencé à développer un ensemble de pages Web pour un projet au travail.Comme je ne connaissais pas grand-chose à JDev à l'époque, j'ai couru vers Oracle pour suivre quelques tutoriels.Les tutoriels JDev recommandent de faire JSPX au lieu de JSP, mais je n'ai pas vraiment expliqué pourquoi.Développez-vous des pages JSPX ?Pourquoi avez-vous décidé de le faire ?Quels sont les avantages/inconvénients de la voie JSPX ?

Était-ce utile?

La solution

La principale différence est qu'un fichier JSPX (officiellement appelé « document JSP ») peut être plus facile à utiliser car l'exigence d'un XML bien formé peut permettre à votre éditeur d'identifier davantage de fautes de frappe et d'erreurs de syntaxe au fur et à mesure que vous tapez.

Cependant, il existe également des inconvénients.Par exemple, un XML bien formé doit échapper à des éléments tels que les signes inférieurs à, de sorte que votre fichier pourrait se retrouver avec un contenu tel que :

<script type="text/javascript">
   if (number &lt; 0) {

La syntaxe XML peut également être plus détaillée.

Autres conseils

JSPX présente quelques inconvénients, à mon avis :

  1. Il est difficile de générer certains types de contenu dynamique ;en particulier.générer une balise HTML avec des attributs facultatifs (c'est-à-direou selon une condition).Les balises JSP standard qui devraient résoudre ce problème ne fonctionnaient pas correctement à l'époque où j'ai commencé à utiliser JSPX.
  2. Pas plus & nbsp;:-p
  3. Vous aurez vraiment envie de mettre tout votre Javascript dans des fichiers séparés (ou d'utiliser les sections CDATA, etc.).À mon humble avis, vous devriez quand même utiliser jQuery, vous n'avez donc vraiment pas besoin d'avoir onclick, etc.les attributs...
  4. Les outils peuvent ne pas fonctionner correctement ;peut-être que votre IDE ne prend en charge rien au-dessus du simple JSP.
  5. Sur Tomcat 6.x, au moins les versions/configuration que j'ai essayées, la sortie générée n'a aucun formatage ;juste un petit désagrément quand même

D'autre part:

  1. Il vous oblige à écrire du XML correct, qui peut être manipulé plus facilement que JSP.
  2. Les outils peuvent effectuer une validation instantanée, détectant les erreurs plus tôt
  3. Syntaxe plus simple, à mon humble avis

Un raisonnement totalement différent pour lequel vous devriez utiliser jspx au lieu de jsp :

JSPX et EL rendent l'inclusion de javascript et de codes Java intégrés beaucoup plus difficile et beaucoup moins naturel à faire que jsp.EL est un langage spécialement conçu pour la logique de présentation.

Tout cela vous pousse vers une séparation plus nette entre le rendu de l’interface utilisateur et les autres logiques.L'inconvénient de beaucoup de code intégré dans une page JSP (x) est qu'il est pratiquement impossible de tester facilement, tandis que la pratique de cette séparation des préoccupations rend la majeure partie de votre logique entièrement test par unité.

Bonjour, collègue développeur JDeveloper !

Je travaille avec des pages JSPX depuis plus de deux ans et je n'ai jamais eu de problème avec le fait qu'elles soient opposées à JSPX et à JSP.Le choix pour moi d'utiliser JSPX a été un peu forcé puisque j'utilise JHeadstart pour générer automatiquement les pages ADF Faces et par défaut, JHeadstart génère tout dans JSPX.

JSPX spécifie que le document doit être un document XML bien formé.Cela permet aux éléments de l'analyser correctement et efficacement.J'ai entendu des développeurs dire que cela aide vos pages à être plus « évolutives » par rapport à JSP.

Comme indiqué dans la documentation officielle du printemps 3.1

"Spring fournit quelques solutions prêtes à l'emploi pour les vues JSP et JSTL."

Vous devez également penser au fait que JSPX vise à produire une sortie purement conforme à XML.Donc, si votre cible est HTML5 (qui peut être conforme à XML mais augmente la complexité, voir mes prochains commentaires), vous avez du mal à atteindre votre objectif si vous utilisez Eclipse IDE...Si votre objectif est de produire du XHTML alors optez pour JSPX et JDeveloper vous accompagnera...

Dans l'un de nos projets de société, nous avons fait un POC avec à la fois JSP et JSPX et avons fait des AVANTS et des INCONVÉNIENTS et ma recommandation personnelle était d'utiliser JSP car nous avons trouvé beaucoup moins restrictif et naturel de produire du HTML5 d'une manière non XML qui est également moins restrictive. et une syntaxe plus compacte.Nous préférons choisir quelque chose de moins restrictif et ajouter des recommandations de « bonnes pratiques » comme « ne pas mettre de scriptlets Java » dans les fichiers jsp.(BTW JSPX vous permet également de mettre des scripts avec jsp:script au lieu de <%...%>)

@Matthieu-
ADF !L'application sur laquelle je travaille actuellement possède 90% de la couche de présentation générée par le mod PL/SQL.J'ai commencé à travailler sur quelques nouveaux écrans et je voulais étudier d'autres options qui pourraient s'intégrer à notre architecture, sans représenter une trop grande charge d'apprentissage (augmentant la complexité du système/plantant les modèles mentaux du système du développeur) pour les autres développeurs du projet. équipe.C’est donc également avec ADF que j’ai découvert JSPX.

J'ai également vu une observation « à l'épreuve du temps »... mais je ne savais pas à quel point elle était fondée.

JSPX est également la technologie d'affichage recommandée dans Spring MVC / Spring Web Flow.

De plus, un autre problème que j'ai rencontré avec JSPX concerne l'utilisation de scriptlets.Je suis d'accord que le code propre est généralement bon et que la logique Java dans le JSP est généralement mauvaise, mais il existe certains cas où vous souhaitez utiliser une fonction utilitaire pour renvoyer une valeur de chaîne ou quelque chose où une TagLib ou le modèle (attributs de requête) serait excessif .

Que pensez-vous des scriptlets dans JSP ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top