0

すべてのcssを担当するindex.jspがあります。このコード行があります

<jsp:include page="Includes.jsp"></jsp:include>

includes.jsp は、すべての css レイアウトを格納するページです。別のjspページからインクルードページを置き換える方法はありますか?

4

1 に答える 1

2

1.インクルードページを別のjspページから置き換える方法はありますか?

いいえ。

ただし、ここでできることは 1 つあります。index.jspに含めるページを動的に指定できます。

<jsp:include page="${somePage}"></jsp:include>

ここsomePageは有効なパスに解決される必要があり、リクエストまたはページまたはセッションまたはコンテキストの属性である必要があります。より柔軟性が必要な場合は、 のような JSTL を<c:import>使用してください。これにより、コンテンツを他の Web アプリケーション (またはコンテキスト) または他の Web サーバーから指定できるようにすることで、ページ作成者により多くの柔軟性が提供されます。

2.index.jsp のインクルード ページを themes.jsp の別の jsp に置き換えたい

index.jspでフラグを設定し、JSTL を使用して条件付きインクルードを実行できます。

<c:choose>
  <c:when test="${someExpressionHere}">
    <jsp:include page="Includes.jsp"></jsp:include>
  </c:when>
  <c:when test="${someOtherExpression}">
    <jsp:forward page="themes.jsp"/>
  </c:when>
</c:choose>

themes.jsp内に、必要なファイルを含めることができます。

<jsp:include page="someOther.jsp"></jsp:include>
于 2013-07-08T09:43:27.957 に答える