Maison interface Web tutoriel HTML Comment supprimer un grand nombre d'espaces et de sauts de ligne générés lorsque JSP génère du HTML

Comment supprimer un grand nombre d'espaces et de sauts de ligne générés lorsque JSP génère du HTML

Dec 24, 2016 pm 03:49 PM

Ce problème m'a également dérangé pendant longtemps. Car lors de l'utilisation de balises EL et d'autres balises en jsp, un grand nombre d'espaces et de sauts de ligne seront générés :

------- start ---------- 
<c:choose> 
<c:when test="${fn:length(mainPageList)>1&}"> 
Something 
</c:when> 
<c:otherwise> 
Others 
</c:otherwise> 
</c:choose> 
------- end -----------
Copier après la connexion

Ce paragraphe. La sortie du code sur Tomcat est la suivante, avec quelques lignes et sauts de ligne supplémentaires.

------- start ---------- 
Something 
------- end -----------
Copier après la connexion

Bien sûr, vous ne rencontrerez généralement aucun problème sans y prêter une attention particulière. Après tout, quel que soit le nombre d'espaces et de sauts de ligne générés, l'effet final généré par le navigateur sera le même. . C'est pourquoi la plupart des développeurs ignorent ce problème ; mais en fait, ces espaces et sauts de ligne prennent beaucoup de place. D'après mon expérience, environ 30 % sont des espaces/sauts de ligne. Certaines personnes disent également que lorsque le serveur Web génère du HTML au format zip, le problème de bande passante causé par les espaces peut être résolu ; oui, lorsque le zip est utilisé pour générer du HTML, l'espace pour les espaces/sauts de ligne sera économisé, mais cela augmentera la charge de travail. de zip est énorme, et le plus gros problème est que lorsque le navigateur génère la page, il restaurera toujours tous les espaces et sauts de ligne. C'est une mauvaise nouvelle pour les développeurs front-end. Face à un grand nombre d'espaces et à un code source HTML long, il n'est pas facile de trouver l'emplacement du style problématique.
Parlons de la solution ci-dessous, en prenant Tomcat comme exemple :
Option 1, utilisez la fonction trimSpaces du serveur web.
Les versions Tomcat5 et supérieures peuvent être utilisées. C'est la méthode la plus simple.

<servlet> 
<servlet-name>jsp</servlet-name> 
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
<init-param> 
<param-name>fork</param-name> 
<param-value>false</param-value> 
</init-param> 
<init-param> 
<param-name>trimSpaces </param-name> 
<param-value>true </param-value> 
</init-param> 
<init-param> 
<param-name>xpoweredBy</param-name> 
<param-value>false</param-value> 
</init-param> 
<load-on-startup>3</load-on-startup> 
</servlet>
Copier après la connexion

Cette solution présente un inconvénient. Elle supprimera les nouvelles lignes et les espaces entre toutes les balises EL jsp, ce qui peut également causer des désagréments dans certains cas.
Par exemple : Votre nom est ${firstName} ${lastName} ==La sortie est==> Votre nom est firstNamelastName
L'espace entre les deux variables ${} disparaîtra également. Résoudre ce problème est assez difficile, introduire une variable avec un seul espace.

Votre nom est ${firstName}${one_space}${lastName}
C'est normal, problème. Bien que vous puissiez ajouter une variable one_space à certaines variables globales, le code n'a toujours pas l'air bien.
Option 2, je préfère.
Cette solution ne peut être utilisée que sur les serveurs Web prenant en charge jsp 2.1, tels que Tomcat6.
Jsp2.1 a une commande très utile ;
<%@ page trimDirectiveWhitespaces="true" %>
Cette commande peut supprimer les lignes vides supplémentaires lorsque jsp génère du HTML (sur jsp, l'utilisation de EL et des balises le fera produire beaucoup d'espaces et de lignes vides), il n'y a aucun problème avec l'utilisation de trimSpaces. Maintenant, le code HTML de sortie jsp peut être bien formaté et a un aspect professionnel ; j'ai toujours été envieux des modèles de vitesse dans le passé, et le code HTML de sortie est très propre. et magnifique, maintenant jsp est également disponible.
De plus, Tomcat6 a quelques problèmes de compatibilité. Par exemple, vous ne pouvez pas utiliser du code comme #{} dans jsp car il sera exécuté comme un script JSF.
Bien qu'il s'agisse d'un petit problème, nous devons quand même faire attention aux détails.


Pour plus d'articles connexes sur la façon de supprimer un grand nombre d'espaces et de sauts de ligne générés lorsque JSP génère du HTML, veuillez faire attention au site Web chinois de PHP !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

HTML est-il facile à apprendre pour les débutants? HTML est-il facile à apprendre pour les débutants? Apr 07, 2025 am 12:11 AM

HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Comprendre HTML, CSS et JavaScript: un guide pour débutant Comprendre HTML, CSS et JavaScript: un guide pour débutant Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

See all articles