2

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 String inc = MY_DIR + "/" + bonus; %>
<%@include file="<%= inc %>"%>

パスは/wcm/ some / other / dir / pageで、これをでうまく印刷できますout.write(inc)。残念ながら、include(およびjsp:include)にはファイルがまったく含まれていません。エラーメッセージは表示されませんが、コンテンツは含まれていません...ファイルにはブラウザからアクセスできます。

これを機能させるには、完全なJSPを作成する必要がありますか?HTMLファイルが必要です。

アップデート

遅かれ早かれ含まれるページが増えるので、この場合のカスタムtaglibを作成することにしました。そうすれば、機能をカプセル化し、静的コンテンツのベースディレクトリをプロパティファイルに設定できます。

4

2 に答える 2

0

RequestDispatcher.include()を使用してみてください:

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

これはincludeディレクティブと同じですが、含めるページが毎回処理される点が異なります(JSPまたはサーブレットの場合)。includeディレクティブは、ディレクティブが存在するJSPファイルがコンパイルされるときにページを1回だけ処理します。

于 2010-05-25T17:02:12.033 に答える
0

試してみたところjsp:include、ファイルは完全に含まれていました。

絶対パスではなく、相対パスを指定する必要があることに注意してください。

于 2010-05-27T05:28:36.093 に答える