2

row1.jsp, row2.jsp, row3.jsp, ..., row10.jspメインの jsp ページに含めたいjsp ファイルがたくさんあります。

ここでの秘訣は、それらがどのように提示されるかをランダム化したいということです。

<%@include file="/index-rows/row1.jspf"%>
<%@include file="/index-rows/row2.jspf"%>
<%@include file="/index-rows/row3.jspf"%>

その他の場合:

<%@include file="/index-rows/row2.jspf"%>
<%@include file="/index-rows/row1.jspf"%>
<%@include file="/index-rows/row3.jspf"%>

次のことを試しましたが、タグ<%= %>内に aを追加できないことに気付きました。<%@include>

<%
HashMap<String, String> foo = ...some code...
String[] pages = { "row1.jspf", "row2.jspf", "row3.jspf" };
for (String p : pages) {
     %><%@include file="/index-rows/<%= p %>"%><%
}
%>

状態: 含まれるファイルは変数を使用しますfoo

4

1 に答える 1

4

<%@ include %>静的インクルード ディレクティブです。これは、コンパイル時に評価されるため、動的なファイル名を使用できないことを意味します。

動的インクルードを使用して、必要なことを行います<jsp:include page="..."/>fooただし、含まれるページを使用するには、リクエスト属性に保存する必要があります。

そして、JSP EL の使い方を学んでください。スクリプトレットはもう使用しないでください。

于 2012-10-13T09:17:14.303 に答える