Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JSP et indentation du code

12 réponses
Avatar
Lionel
Bonjour,

certaines de mes pages JSP contiennent beaucoup de tags JSP indentés.
Le problème est que cela génère énormément d'espaces et retours charriots
dans le code HTML.
Lorsque je désindente (hum) mon code JSP, les espaces ne sont plus générés
dans le code HTML.
En enlevant tous ces espaces, je diminuerais de 25% la quantité de code HTML
généré (différence énorme sur certaines pages)
Y a-t-il un moyen de générer le code HTML sur une seule ligne tout en
gardant un code JSP indenté ?
Merci d'avance

--
Lionel

10 réponses

1 2
Avatar
Lionel
Lionel wrote:
Bonjour,

Y a-t-il un moyen de générer le code HTML sur une seule ligne tout en
gardant un code JSP indenté ?


hormis gzipper la response dans un Filter.
Je suis en servlet 2.2

Merci d'avance


Avatar
Real Gagnon
Y a-t-il un moyen de générer le code HTML sur une seule ligne tout en
gardant un code JSP indenté ?


hormis gzipper la response dans un Filter.
Je suis en servlet 2.2


Voici un Filter qui semble faire cela :
http://www.servletsuite.com/servlets/trimflt.htm
(jamais essaye alors a vos risque!)

Bye.
--
Real Gagnon from Quebec, Canada
* Looking for Java or PB snippets ? Visit Real's How-to
* http://www.rgagnon.com/howto.html


Avatar
Jean-Marc Molina
Bonjour Lionel,

Y a-t-il un moyen de générer le code HTML sur une seule ligne tout en
gardant un code JSP indenté ?


Quel serait l'intérêt ? Si c'est pour gagner en BP tout sera bouffé par le
script qui se charge de filtrer les sorties, donc il faut choisir entre la
BP et les ressources. À mon avis ces quelques octets de gagnés sont
négligeables comparé à l'importance de conserver un serveur stable, surtout
lors des montées en charge. Une solution consiste simplement à avoir des
pages HTML très propres sans abuser des tabulations, retours chariot et
autres espaces.

JM

Avatar
Lionel
Jean-Marc Molina wrote:
Bonjour Lionel,

Y a-t-il un moyen de générer le code HTML sur une seule ligne tout
en gardant un code JSP indenté ?


Quel serait l'intérêt ? Si c'est pour gagner en BP tout sera bouffé
par le script qui se charge de filtrer les sorties, donc il faut
choisir entre la BP et les ressources. À mon avis ces quelques octets
de gagnés sont négligeables comparé à l'importance de conserver un
serveur stable, surtout lors des montées en charge.


je sais.
je pensais plutot à un paramètre à positionner
soit dans l'appli soit sur le serveur qui permettrait de (pré)compiler
les jsp sans tenir compte du formattage du code source..

Le top du top serait un plugin eclipse/WSAD qui supprimerait
les retour charriot et tabulations des jsp
lors de la génération d'un EAR ou WAR par exemple...

Une solution
consiste simplement à avoir des pages HTML très propres sans abuser
des tabulations, retours chariot et autres espaces.


pas de code HTML dans mes pages, tout est dans les tags struts-layout


Avatar
Kévin Viet
Lionel wrote:

Bonjour,

certaines de mes pages JSP contiennent beaucoup de tags JSP indentés.
Le problème est que cela génère énormément d'espaces et retours charriots
dans le code HTML.
Lorsque je désindente (hum) mon code JSP, les espaces ne sont plus générés
dans le code HTML.
En enlevant tous ces espaces, je diminuerais de 25% la quantité de code HTML
généré (différence énorme sur certaines pages)
Y a-t-il un moyen de générer le code HTML sur une seule ligne tout en
gardant un code JSP indenté ?
Merci d'avance




Moi perso, je m'ecrirais un script qui quand tu déployes ton application
en prod, bouffe les identations présentes dans tes pages jsp.
Bon c pas évident pour débugguer le code html qui viendrait de la prod,
mais c deja ca de gagné et de tte facon normalement en prod tu devrais
pas avoir de bugs :)

Avatar
Lionel
Kévin Viet wrote:
Moi perso, je m'ecrirais un script qui quand tu déployes ton
application en prod, bouffe les identations présentes dans tes pages
jsp.


c'est mon client qui déploie en prod.
donc il faut que je lui fournisse un EAR désindenté

Bon c pas évident pour débugguer le code html qui viendrait de la
prod, mais c deja ca de gagné et de tte facon normalement en prod tu
devrais pas avoir de bugs :)


de toute facon , en général quand ca plante, je trouve plus d'info dans les
logs du serveur que dans le code source html de la page...

Avatar
Kévin Viet
Lionel wrote:
Kévin Viet wrote:

Moi perso, je m'ecrirais un script qui quand tu déployes ton
application en prod, bouffe les identations présentes dans tes pages
jsp.



c'est mon client qui déploie en prod.
donc il faut que je lui fournisse un EAR désindenté



Justement le principe c'est de lui donner l'ear deja désindenté, alors
tu passe ton script avant de builder ton ear ...


Bon c pas évident pour débugguer le code html qui viendrait de la
prod, mais c deja ca de gagné et de tte facon normalement en prod tu
devrais pas avoir de bugs :)



de toute facon , en général quand ca plante, je trouve plus d'info
dans les

logs du serveur que dans le code source html de la page...



Bien sur pour la partie logique de ton application ... mais ca arrive
que l'html visuelement déconne de temps en temps ... non ?


Avatar
Lionel
Kévin Viet wrote:
Bien sur pour la partie logique de ton application ... mais ca arrive
que l'html visuelement déconne de temps en temps ... non ?


en prod ? jamais.
en dév non plus d'ailleurs.
Depuis que mes tags de layout sont finalisés je n'ai plus écrit une ligne
d'HTML.

merci pour les conseils.

Avatar
Jean-Marc Molina
Le top du top serait un plugin eclipse/WSAD qui supprimerait
les retour charriot et tabulations des jsp

lors de la génération d'un EAR ou WAR par exemple...

Oui mais comment tu débogues le code généré après ? C'est important ça,
avoir un code proprement généré sinon je vois pas trop comment on peut s'en
sortir. Sauf si tu parles d'un mode pseudo debug je vois pas trop à quoi ca
peut servir.

pas de code HTML dans mes pages, tout est dans les tags struts-layout


Okay moi je débarque un peu là-dedans. JSP pour l'instant j'y connais rien
^^. J'ai vu qu'il y avait des tags pour tout et rien et j'ai pris un peu
peur :). En PHP on utilise plutôt des modèles pour séparer la logique de
l'application de la présentation, je pense que c'est un peu ce que Struts
propose avec des tags non ?

JM

Avatar
Jean-Marc Molina
c'est mon client qui déploie en prod.


Ca me fait penser que vous devez surement pouvoir « encoder » vos scripts
JSP. En PHP on peut le faire simplement en utilisant ce qu'on appelle un
encodeur de scripts. C'est une sorte de compilation, on y gagne en
performances et en sécurité pour un déploiement puisque le code est compilé,
crypté, encodé. Zend, l'entreprise derrière PHP, propose une suite d'outils
pour encoder les scripts à partir de l'EDI qu'il propose, Zend Studio.

Je suis certain qu'il existe un équivalent Java sinon je ne vois pas trop
comment les entreprises pourraient proposer et surtout vendre des solutions
à déployer, même la licence ne protège pas les abus que certains peuvent
administrer à nos codes sources :).

Pour info l'encodeur Zend optimise aussi le code encodé, au final on se
retrouve avec une sorte de bytecode, équivalent à celui de Java, une machine
virtuelle, Zend Optimizer, se charge ensuite d'exécuter tout ce petit monde
en se greffant au serveur d'applications, généralement PHP + Apache, comme
serveur web. On se demande où les petits génies de Zend sont allés puiser
toutes ces idées.

Qui a dit chez Sun ? ^^.

J'aimerai mieux connaître le monde Java pour te proposer une solution mais à
partir de ces solutions PHP je pense que tu peux trouver des équivalents
Java. Un petit coup de « Java encoders » sur Google pourrait peut-être
t'aider. Car au final entre PHP et JSP il n'y a pas beaucoup de différences.
JSP permet apparement d'ouvrir les portes du web à Java et PHP a permis aux
développeurs CGI de retirer le mot compilation de leur dictionnaire :).

JM

1 2