ホームページ  >  記事  >  ウェブフロントエンド  >  外部ファイルを導入するときに JSP で発生する問題_html/css_WEB-ITnose

外部ファイルを導入するときに JSP で発生する問題_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-21 08:46:011487ブラウズ

今日 Spring、SpringMVC、Mybatis のフレームワークであるプロジェクトをビルドしたところ、JSP に js ファイルと css ファイルをインポートできないことがわかりました。後でそれが原因であることがわかりました。 SpringMVCの設定により、ディレクトリ構成は次のようになります:

project.jpg

外部ファイルの導入方法:

<script type="text/javascript" src="${ctx}/js/jquery.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap-paginator.js"></script><script type="text/javascript" src="${ctx}/js/wiki.js"></script><link rel="stylesheet" type="text/css" href="${ctx}/css/bootstrap.min.css" /><link rel="stylesheet" type="text/css" href="${ctx}/css/shopin-list.css" />

CTX は、プロジェクトのルート パスである jsp パスで定義されます。

<%request.setAttribute("ctx", request.getContextPath());%>

これは、実際のアプリケーションでは、引用するだけで済みます。

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

しかし、これには問題ないと思いますが、fireBug は 404 エラーを報告し続け、js ファイルと css ファイルが見つかりません。考えてみても手がかりが見つかりません。長い間、すべてのパスが web.xml でインターセプトされていることがわかりました:

<servlet-mapping>        <servlet-name>shopin-wiki</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>

また、springmvc 構成ファイルでリソース マッピングも行いました:

<mvc:resources location="/WEB-INF/css/" mapping="/css/**"/><mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>

しかし、パス/WEB-INF/css/ の下にあります。これにより、webapp ディレクトリに置かれたファイルが見つかりません。

概要

web.xml はプロジェクトの開始時に web.xml ファイルに設定された springmvc コントローラーをロードするため、デフォルトですべての URL がインターセプトされますが、インターセプトしたくない静的リソース。springmvc 構成ファイルでリソース マッピングを構成できます。7980241f6c6551e8206818210a85eadd は、ページによって /css/** に参照されるリソースが /WEB-INF/css/ から検索されることを意味します。私自身の理解はこれです。私の理解は比較的表面的なものであり、基礎となる実装をどのように実装するかはまだわかりません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。