2010-07-26 11 views
2

Je reçois un comportement très étrange dans une de mes pages JSP. Il semble que cela ne rende pas le HTML complet. Cela ressemble à ceci:JSP rend le HTML bizarre

<html> 
    ... 
    <table> 
    ... 
    </table> 
    <div id= 

Ainsi, la dernière ligne correspond exactement à ce que vous obtenez lorsque la page est rendue. De plus, quand vous faites une source de vue, vous obtenez exactement la même chose. Cette page n'a pas de logique compliquée ... il n'y a pas d'erreur javascript, pas de balise de fermeture manquante, etc ...

Y at-il une limite de page pour une page jsp?

Un peu plus d'arrière-plan: Cette page fonctionne très bien sur un serveur WIN2K exécutant Tomcat 5.5. Je suis mise à niveau cette application pour fonctionner sous un serveur avec WIN2008 + Tomcat 6.0. C'est là que j'obtiens l'erreur ...

Toute aide est appréciée.

Répondre

2

Existe-t-il une limite de page pour une page jsp?

AFAIK, no.

Je pense que la cause la plus probable est que votre JSP lève une exception. Vérifiez les journaux Tomcat et examinez le fichier JSP après le dernier code HTML qui a été généré.

EDIT

@Adam Crume dit: "L'exception peut être levée à un point plus éloigné de l'endroit où les arrêts de sortie, en raison de mise en mémoire tampon."

True. Comme un hack temporaire pour contourner cela, vous pouvez entourer le contenu de la JSP avec un essai/enfin, et vider le flux de sortie dans le bloc finally.

+2

L'exception peut être lancée à un point plus éloigné de l'arrêt de la sortie, en raison de la mise en mémoire tampon. –

+0

C'était en effet une exception. Merci beaucoup! –

+0

Une limite existe réellement. – khebbie

2

Existe-t-il une limite de page pour une page jsp?

Oui, il y a. Il s'agit d'environ 64 Ko. JSP sont essentiellement compilés dans une grande déclaration try. En Java, il existe une limite de 64 Ko pour l'instruction try. Mais si vous dépassez cela, il aurait fallu un different exception.

Ce problème indique au moins que vous utilisez scriptlets dans la JSP. Ceci est un bad practice. Chaque fois qu'une exception se produit à mi-chemin d'une page JSP, vous obtenez une page vide ou semi-bue sans informations sur le problème. N'exécutez pas de tâches métier dans JSP, mais dans une servlet de prétraitement.