¿Hay alguna manera de obtener qué JSP se procesa actualmente, con JSTL o Struts (o sin)? como _ _ archivo _ _ en Python y PHP?Obtiene el nombre de archivo actual en JSP
Respuesta
Bueno ... sí ... de una manera
String __jspName = this.getClass().getSimpleName().replaceAll("_", ".");
estoy usando un JSP llamado pre.jsp
por lo que incluyo en la parte superior de cada JSP en mi aplicación web:
<%@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 %> -->
Además me puso esto al final de cada JSP:
<!-- END <%=__jspName %> --><% log.info("END JSP "+__jspName); %>
Eso me da un registro consistend. Para asegurarme de que cada JSP es "correcto", tengo un cheque en mi script de compilación que solo busca las dos cadenas "/pre.jsp"
y `` END <% = __ jspName`.
Nota: Hay muchos caracteres que están permitidos en nombres de archivos pero no en nombres de clase Java. Si los usa, sus nombres de clase pueden parecer extraños. Si ese es el caso, le sugiero para crear una función auxiliar estática que convierte los nombres de clases de nombres de ficheros y llamar a eso, es decir
String __jspName = MyJspUtils.getFileName(this.getClass());
Cada compilador JSP tiene sus propias reglas; he aquí un ejemplo: http://itdoc.hitachi.co.jp/manuals/3020/30203Y0510e/EY050044.HTM
Felicitaciones vaya a Marcus Junius Brutus para señalar eso.
La manera más conveniente es utilizar: <% = request.getRequestURI()%>
<% = request.getRequestURI()%> Por ejemplo, en todos mis archivos JSP, siempre lo hago poner esta línea:
archivo de representación de JSP: '% <% = request.getRequestURI()>'
esto pone una línea html realizado un comentario en el hTML representado. De esta manera, no se puede ver en el navegador, pero para fines de depuración, siempre puedo verlo inf "Ver fuente".
Pero eso solo muestra el URI solicitado, no el jsp representado, si proviene de una inclusión o se procesa desde un servlet – elzapp
que lograron usando JSTL de la siguiente manera:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<!-- <c:out value="${pageScope['javax.servlet.jsp.jspPage']}"></c:out> -->
...
Y ahora, debería ver como un comentario HTML el nombre del servlet producida por el recipiente para hacer el archivo JSP, cuyo nombre está muy cerca de la Archivo fuente JSP.
Ésta es una solución simple copiar y pegar:
<%=this.getClass().getSimpleName().replaceFirst("_jsp","")%>
- 1. SharePoint obtiene el nombre de usuario actual?
- 2. ¿Cómo recuperar el nombre de la página actual en JSP?
- 3. ¿Obtiene el nombre del proceso actual (ejecutable) en Go?
- 4. ¿Obtiene el nombre del archivo en ejecución en Java?
- 5. Flex: ¿obtiene el nombre del archivo SWF?
- 6. ¿Obtiene el directorio actual y ejecuta un archivo en vbscript?
- 7. Eclipse: ¿Obtiene la ubicación del archivo actual?
- 8. Obtiene el dominio actual en ASMX
- 9. Obtiene el usuario actual de Ver
- 10. obtiene la hora actual
- 11. ¿Cómo imprimir la fecha actual en JSP?
- 12. iphone Obtiene el año actual como cadena
- 13. Obtener el nombre del archivo actual en Vim
- 14. Primavera: mostrar imagen en el archivo jsp
- 15. ¿Cómo se obtiene el nombre de archivo de un archivo temporal para usar en Linux?
- 16. ¿Obtiene la línea de código y el archivo que está ejecutando la función actual en PHP?
- 17. Obtener el nombre del archivo de secuencia de comandos actual
- 18. Encontrar el nombre del archivo de configuración actual
- 19. ¿Cómo puedo encontrar el nombre de archivo ejecutable actual?
- 20. ¿Obtiene el índice del elemento actual en el bucle Powershell?
- 21. Obtiene el título actual de la ventana activa en Java
- 22. Obtiene el título de la figura actual en MATLAB?
- 23. Obtiene el valor actual de una configuración en Vim
- 24. Obtiene el título actual activo de la ventana en C
- 25. Obtiene el objeto acotado actual en una ItemPlantilla de ListView
- 26. Nombre de archivo/ruta de la consulta actual en LINQPad
- 27. Capturar salida JSP, guardar en el archivo
- 28. cómo cargar el archivo CSS en JSP
- 29. Marca de tiempo actual como nombre de archivo en Java
- 30. Yank nombre de archivo/ruta del búfer actual en Vim
Sí. ese fue exactamente el caso de uso que tuve ... Supongo que lo hará – elzapp
Tenga en cuenta que esto solo funciona para Java 1.5 o posterior. De lo contrario, informa el error "No se puede resolver el símbolo" –
@ScottChu: para Java 1.4, use 'getClass(). GetName()' en su lugar. –