別のJSPファイルを含める 質問する

別のJSPファイルを含める 質問する

現在、JSP を学習中です。質問ですが、現在、私は次の方法でページのヘッダーとフッターを組み込んでいました。

<%@include file="includes/header.jsp" %>

そして

<%@include file="includes/footer.jsp" %>

しかし、今はページ コンテンツも分離しています。したがって、ユーザーが製品などのページをクリックした場合、次の場所にある JSP ファイルを読み込む必要があります。includes/pages/products.jspしたがって、ユーザーへのリンクは次のようになります<a href="index.jsp?p=products">Products</a>

したがって、p 値を取得し、それに基づいてページを表示する必要があります。

これまでに行ったことは以下の通りです。

<%
 if(request.getParameter("p")!=null)
 { 
   String p = request.getParameter("p");
%>    

<%@include file="includes/page_name.jsp" %>

<% 
 }
%>

では、変数「p」の値を「page_name」の位置に配置するにはどうすればよいでしょうか?

または、他に使用できる方法はありますか?

include()PHP では、または を使用できますinclude_once()。この JSP では少し行き詰まっています。:(

ベストアンサー1

あなたが行っているのは静的インクルードです。静的インクルードはコンパイル時に解決されるため、実行時にのみ判明するパラメータ値を使用しない可能性があります。

必要なのは、動的なインクルードです:

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

スクリプトレットではなく JSP EL を使用する必要があることに注意してください。また、index.jsp を使用して中央コントローラを実装しているようです。代わりにサーブレットを使用して、このサーブレットから適切な JSP にディスパッチする必要があります。または、Stripes や Spring MVC などの既存の MVC フレームワークを使用することをお勧めします。

おすすめ記事