WebSphere 6に可変ファイル名を備えたJSPに静的ファイルを含める
-
04-10-2019 - |
質問
静的ファイルを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/dir/pageであり、私はそれを喜んで印刷することができます out.write(inc)
. 。残念ながら include
(そしてその jsp:include
)ファイルはまったく含まれていません。エラーメッセージはありませんが、コンテンツは含まれていません...ファイルはブラウザからアクセスできます。
これが機能するためには、完全なJSPを作成する必要がありますか? HTMLファイルが必要です。
アップデート
遅かれ早かれ、より多くのページを含める必要があるため、このケースのカスタムタグリブを作成することにしました。そうすれば、機能をカプセル化し、プロパティファイルに静的コンテンツのベースディレクトリを設定できます。
解決
requestdispatcher.include()を使用してみてください。
<%
RequestDispatcher r = request.getRequestDispatcher(inc);
r.include(request, response);
%>
これは、含まれるページが毎回処理される場合を除きますが(JSPまたはサーブレットの場合)、これはインクルードディレクティブのようなものです。インクルードディレクティブは、ディレクティブが存在するJSPファイルがコンパイルされたときに1回ページを処理します。
他のヒント
試してみました jsp:include
そして、ファイルは完全に含まれました。
絶対的なパスではなく相対パスを提供する必要があることに注意してください。
所属していません StackOverflow