在WebSphere 6中包含带有变量filename的JSP中的静态文件

时间:2010-05-25 13:57:36

标签: java jsp websphere websphere-6

我正在努力在 Websphere 6.0.2.17 中将静态文件包含到我的JSP中。我试过这个:

<% 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 %>"%>

路径是/ wcm / some / other / dir / page,我很高兴用out.write(inc)打印出来。不幸的是,include(以及jsp:include)根本不包括该文件。没有错误消息,但内容不包括在内......但是可以通过浏览器访问该文件。

我是否必须为此创建完整的JSP才能工作?我只需要一个HTML文件。

更新

因为迟早会包含更多页面,所以我决定为这种情况创建一个自定义taglib。这样我就可以封装功能并在属性文件中为我的静态内容设置基本目录。

2 个答案:

答案 0 :(得分:0)

尝试使用RequestDispatcher.include():

<%
RequestDispatcher r = request.getRequestDispatcher(inc);
r.include(request, response);
%>

这就像include指令一样,除了你所包含的任何页面每次都会被处理(如果它是JSP或servlet)。 include伪指令仅在编译指令所在的JSP文件时处理页面一次。

答案 1 :(得分:0)

我尝试了jsp:include,文件包含完美。

请记住,您必须提供相对路径而不是绝对路径。