2016-08-31 29 views
0

インクルードファイルを変更するとインクルードアクションタグを使用すると、その変更がinclude jspに反映されています。しかし、インクルード・ディレクティブを使用すると、その変更はインクルード・JSPに反映されません。jsp includeアクションタグとjsp includeディレクティブとの違い

しかし、includeアクションタグを使用するかincludeディレクティブを使用するかにかかわらず、変更がinclude jspに反映されることがわかりました。

私はプログラムを使って違いを見せてください。

答えて

0

ディレクティブの内容は、翻訳フェーズ中にメインJSPの一部を形成します。つまり、JSPが同等のサーブレットにコンパイルされるときです。そのため、ディレクティブコンポーネントを使用してjspに含まれているコンテンツは、変換時に親jspにマージされます。このインクルードディレクティブは、主に静的で頻繁に変更されないヘッダーとフッターに対処するために主に使用されていました。

一方、includeアクションタグは、動的コンテンツを含めるためのものです。つまり、そのタグが処理し​​て表示できるタグにパラメータを送信することができます。これは同じコンテンツを何度も繰り返しているヘッダーやフッターとは異なります。

Main.jsp

<jsp:include page="included.jsp"> 
    <jsp:param name="message" value="World" /> 
</jsp:include> 

included.jspが

<html> 
<head> 
</head> 
<body> 
<h2>Hello <%=request.getParameter("message") %></h2> 
</body> 
</html> 

また、あなたはどのようなサーバーを使用しています。 Tomcat7以降、変更されたjsp(任意のメカニズムによる)が変更された場合、主なJSPもコンパイルされます。 これはlinkです。

関連する問題