我正在努力将静态文件包含在我的JSP中 WebSphere 6.0.2.17. 。我尝试了:

<% 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/other/dir/page,我可以很高兴地打印出来 out.write(inc). 。不幸的是 include (和 jsp:include)根本不包括文件。没有错误消息,但不包括内容...但是可以通过浏览器访问该文件。

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

更新

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

有帮助吗?

解决方案

尝试使用requestDisPatcher.include():

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

这就像包括指令一样,除了您所包含的任何页面都将每次处理(如果是JSP或Servlet)。当指令居住的JSP文件被编译时,Inclusta Divestive仅处理一次页面。

其他提示

我尝试了 jsp:include 并且该文件完美包含。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top