Existe-t-il un moyen d'obtenir quelle JSP est actuellement rendue, avec JSTL ou Struts (ou sans)? comme _ _ fichier _ _ en Python et PHP?Obtenir le nom de fichier actuel dans JSP
Répondre
Eh bien ... oui ... de manière
String __jspName = this.getClass().getSimpleName().replaceAll("_", ".");
J'utilise un JSP appelé pre.jsp
pour ce que j'inclus en haut de chaque page JSP dans mon webapp:
<%@page import="org.apache.log4j.Logger"%>
<%
String __jspName = this.getClass().getSimpleName().replaceAll("_", ".");
Logger log = Logger.getLogger(this.getClass().getName());
log.info("BEGIN JSP "+__jspName);
%>
<!-- BEGIN <%=__jspName %> -->
de plus, je mis cela à la fin de chaque JSP:
<!-- END <%=__jspName %> --><% log.info("END JSP "+__jspName); %>
cela me donne un journal de consistend. Pour m'assurer que chaque JSP est "correcte", j'ai une vérification dans mon script de construction qui cherche simplement les deux chaînes "/pre.jsp"
et `` END <% = __ jspName`.
Remarque: De nombreux caractères sont autorisés dans les noms de fichiers mais pas dans les noms de classes Java. Si vous les utilisez, vos noms de classe peuvent sembler étranges. Si tel est le cas, je vous suggère de créer une fonction d'aide statique qui convertit les noms de classe aux noms de fichiers et appeler, à savoir
String __jspName = MyJspUtils.getFileName(this.getClass());
Chaque compilateur JSP a ses propres règles; Voici un exemple: http://itdoc.hitachi.co.jp/manuals/3020/30203Y0510e/EY050044.HTM
Les nuances vont à Marcus Junius Brutus pour le signaler.
La façon plus pratique est d'utiliser: <% = request.getRequestURI()%>
<% = request.getRequestURI()%> Par exemple, dans tous mes fichiers jsp, je fais toujours mettre cette ligne:
rendu JSP fichier: '<% = request.getRequestURI()%>'
cela met une ligne html pour le actualité commentée html rendu. De cette façon, on ne peut pas le voir dans le navigateur, mais à des fins de débogage, je peux toujours le voir inf je fais "View source".
Mais cela montre seulement l'URI demandé, pas le jsp rendu, s'il provient d'un include ou rendu à partir d'un servlet – elzapp
je réussis à l'aide JSTL comme suit:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<!-- <c:out value="${pageScope['javax.servlet.jsp.jspPage']}"></c:out> -->
...
Et maintenant, vous devriez voir comme HTML commentaire le nom du servlet produit par le conteneur pour rendre votre fichier JSP, dont le nom est très proche de la Fichier source JSP.
Ceci est une solution simple copier-coller:
<%=this.getClass().getSimpleName().replaceFirst("_jsp","")%>
- 1. Obtenir le nom du fichier actuel dans Vim
- 2. Comment obtenir le nom d'utilisateur de connexion dans JSp?
- 3. Comment obtenir le nom de contexte actuel de rspec?
- 4. Pouvez-vous obtenir le nom du fichier jsp en utilisant un taglib dans le code taglib
- 5. Comment obtenir le nom de propriété actuel par réflexion?
- 6. Comment obtenir le nom de fichier .EXE
- 7. Trouver le fichier actuel dans IntelliJ
- 8. J2ME Obtenir le fuseau horaire actuel
- 9. Obtenir le nom du fichier en PHP
- 10. Comment obtenir le répertoire de travail actuel dans IronRuby?
- 11. Récupérez le nom de vue actuel dans ASP.NET MVC?
- 12. le nom rtfwriter n'existe pas dans le contexte actuel
- 13. ColdFusion: obtenir le nom d'un fichier avant de le télécharger
- 14. Eclipse 3.5: Comment obtenir le nom de fichier de l'éditeur?
- 15. Inclure le contenu d'un fichier dans JSP
- 16. regexp obtenir le nom de fichier de l'url
- 17. Android: Obtenir le nom de fichier de l'appareil photo?
- 18. comment puis-je obtenir le nom d'utilisateur actuel dans Silverlight 2.0
- 19. Obtenir le répertoire d'un nom de fichier en Javascript
- 20. Obtenir le protocole de connexion actuel dans SQL 2000
- 21. Obtenir le numéro de révision actuel dans Subclipse?
- 22. Comment obtenir le nom complet de l'utilisateur actuel à partir d'un rapport SQL Reporting Services 2008?
- 23. Obtenir le nom de fichier utilisé d'une instance Propriétés
- 24. Comment obtenir le nom de fichier d'une DLL?
- 25. Comment obtenir le nom de fichier sans l'extension en Java?
- 26. Obtenir le nom de fichier en utilisant xsl
- 27. Comment récupérer le nom de ville actuel de l'utilisateur?
- 28. Obtenir le nom d'objet dans le objectScope
- 29. Comment obtenir seulement un nom de fichier?
- 30. Répertoire actuel dans le fichier de propriétés Java
Ouais. c'était exactement l'usecase que j'avais ... Je suppose que ça va faire – elzapp
Notez que cela ne fonctionne que pour Java 1.5 ou plus tard. Sinon, il signale l'erreur "Impossible de résoudre le symbole" –
@ScottChu: Pour Java 1.4, utilisez 'getClass(). GetName()' à la place. –