Incluir archivo estático en JSP con el nombre de archivo variable sobre WebSphere 6
-
04-10-2019 - |
Pregunta
estoy luchando con la inclusión de un archivo estático en mis páginas JSP en Websphere 6.0.2.17 . He intentado esto:
<% final String MY_DIR = ResourceBundle.getBundle("mybundle").getString("props.pages.wcm"); %>
<% final String page = ResourceBundle.getBundle("mybundle").getString("page"); %>
<% final String inc = MY_DIR + "/" + bonus; %>
<%@include file="<%= inc %>"%>
La ruta es / wcm / some / otra / dir / página y que puede imprimir con alegría que con out.write(inc)
. Desafortunadamente el include
(y el jsp:include
) no está incluyendo el archivo en absoluto. No hay ningún mensaje de error, pero el contenido no está incluido ... El archivo es accesible a través del navegador sin embargo.
¿Tengo que crear una JSP completo para que esto funcione? Sólo necesito un archivo HTML.
Actualizar
Debido a que habrá más páginas que se incluirán tarde o temprano decidió crear una taglib personalizado para este caso. De esa manera puedo encapsular la funcionalidad y establecer el directorio de base para el contenido estático en un archivo de propiedades.
Solución
Trate de usar RequestDispatcher.include ():
<%
RequestDispatcher r = request.getRequestDispatcher(inc);
r.include(request, response);
%>
Esto es igual que la directiva include, excepto cualquier página que está incluyendo serán objeto de tratamiento cada vez (si es un JSP o servlet). La directiva include sólo procesa la página una vez cuando el archivo JSP que reside en la directiva se compila.
Otros consejos
Me trató través jsp:include
y el archivo se incluía la perfección.
Tenga en cuenta que usted tiene que proporcionar la ruta relativa y no la ruta absoluta.