jsp:include と jsp:forward の主な違いを理解しましょう。
jsp:include は、現在のページ内にページを含めます。したがって、含まれるページは、現在のページ内で jsp コマンドを追加した場所に正確に表示されます。
例えば
...
<jsp:include page="inc/include.jsp" />
...
ただし、jsp:forward は現在のページを転送先のページに転送します。現在のページが呼び出されたときに、転送されたページがすぐに呼び出されることを意味します。
例えば
if (...) { forwarded to pageOne.jsp }
else if (...) { forwarded to pageTwo.jsp }
以下は、jsp:forward と jsp:include の両方のパラメータにアクセスする方法です。
jsp:include : リクエスト オブジェクトではなく、param を使用してパラメータにアクセスできます。例えば
${param.param1}
jsp:forward では、リクエスト オブジェクトを使用してパラメータにアクセスできます。例えば
request.getParameter("param1")
これが、jsp:inlcude と jsp:forward のパラメータの主な違いです。したがって、jsp:forward で新しい値を取得しています (たとえば、Lname=xyz)。
例:
リクエストオブジェクトにパラメータ Lname=xyz があるとします。現在のjspでは、以下のコードを使用してアクセスできます
<%= (String)request.getParameter("Lname"); %> <%-- This will print xyz on jsp --%>
さらに、jsp:forward で同じパラメータ名を使用できます。
<jsp:forward page="fwd/pageOne.jsp?Lname=abc" />
また
<jsp:forward page="fwd/pageOne.jsp">
<param name="Lname" value="abc"/>
</jsp:forward>
これにより、request.getParameter() メソッドを使用して fwd/pageOne.jsp で Lname=abc が生成されます。
ありがとう