Java 在WebSphere 6上的JSP中包含静态文件和可变文件名
我正在努力将一个静态文件包含到WebSphere6.0.2.17的JSP中。我试过这个:Java 在WebSphere 6上的JSP中包含静态文件和可变文件名,java,jsp,websphere,websphere-6,Java,Jsp,Websphere,Websphere 6,我正在努力将一个静态文件包含到WebSphere6.0.2.17的JSP中。我试过这个: <% final String MY_DIR = ResourceBundle.getBundle("mybundle").getString("props.pages.wcm"); %> <% final String page = ResourceBundle.getBundle("mybundle").getString("page"); %> <% final Stri
<% 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文件
更新
因为迟早会有更多的页面被包括进来,所以我决定为这个案例创建一个自定义标记库。这样我就可以封装功能并在属性文件中设置静态内容的基本目录。尝试使用RequestDispatcher.include()
这与include指令类似,只是每次都会处理包含的任何页面(如果是JSP或servlet)。当编译指令所在的JSP文件时,include指令只处理页面一次。尝试使用RequestDispatcher.include()
这与include指令类似,只是每次都会处理包含的任何页面(如果是JSP或servlet)。当编译指令所在的JSP文件时,include指令只处理页面一次。我尝试了
JSP:include
,文件被完美地包含
请记住,您必须提供相对路径,而不是绝对路径。我尝试了
jsp:include
并完美地包含了文件
请记住,您必须提供相对路径,而不是绝对路径。文件位于应用程序目录和应用程序服务器目录之外是否会有问题?我试着从另一个目录加载在我的JSP中可用的路径…这个静态文件是在您的项目中还是在项目外部?如果此HTML文件驻留在您的项目中,那么静态include应该可以正常工作。它位于项目之外,位于文件系统的另一个目录中,但对于Web服务器用户来说是可读的。文件位于应用程序目录之外和应用程序服务器目录之外是否会有问题?我试着从另一个目录加载在我的JSP中可用的路径…这个静态文件是在您的项目中还是在项目外部?如果此HTML文件驻留在您的项目中,那么静态include应该可以正常工作。它位于项目外部,位于文件系统中较远的另一个目录中,但Web服务器用户可以读取。您是否使用应用程序目录外的文件尝试过此操作?是否使用应用程序目录外的文件尝试过此操作?
<%
RequestDispatcher r = request.getRequestDispatcher(inc);
r.include(request, response);
%>