jsp:include タグと <%@ include タグを使用する際の注意事項
まず、この 2 つの違いを思い出してください (この記事では、両者に使用上の違いはありません)
jsp:include です。最初に included.jsp ファイルをコンパイルしてからインクルードします (最初にコンパイルしてからインクルードします)
@include は、最初にファイルをインクルードしてから均一にコンパイルします (最初にインクルードしてからコンパイルします)
を使用したい今日の午後は Jquery をプロジェクトに統合してみると、どうやっても問題が発生することがわかります。理由はパスの問題です。
統合するとき、私の考えは、一般的に使用される js ファイルを含むパブリック JSP ファイルを作成することです。もちろん、ここでは Jquery プラグインを使用します。
しかし、書いてみると、パブリック JSP は単体でテストすると使えるのですが、パブリック JSP ページを含むページでは JQuery が使えないことが分かりました。最初はロード順の問題だと思いました。
いくつかのテストの後、最終的に問題が発見されました。
プロジェクト ファイルの数が多いため、ファイルは 1 つのフォルダーに配置されません。公開 JSP ページには、
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 🎜>
を呼び出すと、次のようになります。 file= "../../common_ext.jsp"%>
しかし、これはエラーを引き起こす可能性があります。
これは、include 後、公開 JSP が自分の JSP に読み込まれ、JQueryr の相対位置が変わったためです。つまり、パブリック JSP は JQuery の相対位置を自分の JSP に渡しますが、自分の JSP は自分自身を標準として使用し、そのパスを通じて Jquery プラグインを見つけることができません。簡単に言えば、相対パスを使用する場合、パブリック JSP 内のパスは独自の JSP のパスを基準とする必要があります。
しかし、これでは明らかにパブリック JSP であるという意味が失われますので、ここでは絶対パスを使用してください:
コードをコピー
コード <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% <🎜; > String tPath = request.getContextPath();
String tBasePath = request.getScheme() ":" request.getServerPort() tPath "/">