2010-05-03 24 views
-1

Je suppose que mes questions ne sont pas bien décrites. Ce style de codage (comme l'exemple ci-dessous) est-il toujours recommandé?Mélange JSP/HTML de nouvelles fonctionnalités ou suggestions

N'y a-t-il pas de nouvelles méthodes de mélange html avec jsp? Je vois quelques exemples avec le script blockquote <>/script>. Je suppose que c'est pour séparer le code par bloc et pas toujours le meilleur moyen.

Toutes les suggestions, disons un cadre, la coloration syntaxique ou même le formatage serait utile.

Mon problème est que la relation ou même des erreurs entre la classe et le fichier JSP ne sont pas toujours affichés bien en éclipse. Ou ce n'est peut-être pas facile pour une nouvelle personne de le lire/comprendre.

Voici un exemple

<%} %> 
<%if(condition) { %> 
<tr> 
    <td class="label"><%=method()%></td> 
    <td class="text"><%=method()%></td> 
</tr> 
<%} %> 
<tr> 
+1

Désolé, je ne comprends pas ce que vous demandez du tout. – RoToRa

+0

J'ai lu la question comme 'Mon JSP est un désordre dû au mélange HTML, JSP et Java. Même Eclipse ne peut plus le comprendre. Ce qui peut être fait?' – extraneon

+0

@RoToRa: Peut-être parce que vous ne faites pas de JSP du tout? – BalusC

Répondre

2

Ces vilaines choses sont appelées scriptlets et oui, ils sont considérés comme une mauvaise pratique depuis une dizaine d'années, depuis le moment où taglibs et EL sont nés. De nos jours, ils peuvent être utiles pour le prototypage rapide, mais vraiment rien de plus que cela.

De nos jours, vous utilisez normalement taglibs comme JSTL pour contrôler le flux et la sortie page. Vous utilisez normalement Expresson Language (EL) pour accéder aux données backend. Vous pouvez faire beaucoup au niveau de la couche de présentation avec eux. Si vous arrive à un point qu'il est impossible avec l'un d'eux et vous êtes obligé de saisir scriptlets, alors la logique de code appartient en fin de compte dans une réelle classe Java. Vous pouvez utiliser un pour contrôler/demandes prétraiter/de post-traitement classe Servlet, vous pouvez utiliser une Filter classe pour filtrer les requêtes, vous pouvez utiliser une classe DAO pour faire l'interaction de base de données, vous pouvez utiliser une Javabean classe pour stocker/transfert/données d'accès, vous pouvez utiliser une classe Domain pour la logique métier, vous pouvez utiliser une classe Utility pour les outils statiques. Utilisez la JSP là où elle est destinée: une technologie d'affichage pour écrire du texte de modèle comme HTML/CSS/Javascript dans lequel vous avez la possibilité d'interagir avec le code Java et les données backend par taglibs et EL.

Ces tutoriels sont très bien pour commencer avec eux tout le droit chemin: Beginner and Intermediate JSP/Servlet tutorials, Advanced JSP/Servlet tutorials. Cela dit, les <script></script> choses dont vous parlez ont d'ailleurs rien de à faire avec Java/JSP. Ce sont des éléments HTML qui indiquent un bloc de Javascript. Ceci est une langue tout à fait indépendante avec les 4 premiers caractères du nom et un moins ou plus utilisation du mot clé simliar/syntaxe que la ne rapport à Java.

+0

Merci BalusC ... C'était la réponse appropriée à ma question. –

+0

De rien. – BalusC

+0

Note: J'ai écrit une réponse plus détaillée sur le sujet ici: http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files/3180202#3180202 – BalusC

1

Vous pouvez utiliser libs tag (le Java standard tag lib par exemple) si vous le souhaitez. Les bibliothèques de balises standard peuvent vous aider à obtenir ces laides si les instructions sur le HTML. Les instructions sont là bien sûr, en tant que balises (xml like things), mais elles conviennent mieux dans JSP et sont plus faciles à utiliser avec Eclipse.

Soyez conscient que vous ne mélangez pas la logique métier et la logique d'affichage dans une page JSP. Cela va vraiment rendre un JSP illisible.