どのようにJSPのFreeMarkerのページrequest.getContexPathで

1.ときrequestMappingコントローラ()のみディレクトリ(プロジェクト後のマルチレベルディレクトリ名に対して)、コントローラジャンプページ相対パスをJS導入されるWebアプリケーション

この時点で、直接、

< スクリプトSRC = "静的/ブートストラップ-3.3.4 / JS / bootstrap.min.js" > </ スクリプト>
パスは、Webアプリケーションの下で静的なディレクトリです。
そうでない場合(例えば、コントローラは、( "XXX / XXX")のために)(@RequestMapping) 、相対パスを使用する必要があります。

2. FreeMarkerの取得システムの相対パス(Webアプリケーション)モード

バネmvc.xmlに配置

<! - リターンのuserinfoとしてFreeMarkerの表示解像度。この構成に拡張FTL及びビューリゾルバで。- > 
< ID = "viewResolverFtl" 
    クラス= "org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" > 
    < プロパティ= "viewClass" =「org.springframework.web.servlet.view.velocityまたはorg.springframework.web.servlet.view.freemarker。またはFreeMarkerView "  /> 
    < プロパティ="サフィックス" =。" FTL "  /> 
    < プロパティ=" contentTypeの" ="テキスト/ HTML;のcharset = UTF-8 "  /> 
    <= "exposeRequestAttributes" = "true"を /> 
    < プロパティ= "exposeSessionAttributes" = "true"を /> 
    < プロパティ= "exposeSpringMacroHelpers" = "true"を /> 
    < プロパティ= "requestContextAttribute" = "要求"  /> 
    < プロパティ="キャッシュ」= "true"を /> 
    < プロパティ= "オーダー"= "0"  /> 
</ >

どの<property name="requestContextAttribute" value="request" />キーです。

FTLページの設定

< #assign ベース= request.contextPath /> 
<!DOCTYPE HTML > 
< HTML のlang = "ZH" > 
< ヘッド> 
    < 基地ID = "ベース" HREF = "$ {ベース}" > 
    < タイトル>首页</ タイトル> 
    < メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの;のcharset = UTF-8" > 
    < リンクのhref = "$ {ベース} /static/bootstrap-3.3.4/css/bootstrap.min.css"
    スクリプトSRC = "$ {ベース}は/static/bootstrap-3.3.4/js/bootstrap.min.js" > </ スクリプト>

JSファイル取得パス

VARベース=のdocument.getElementById( "ベース")HREF。
//背景との対話
_send =関数(非同期、URL、値、成功、エラー){
    $アヤックス({
        非同期:非同期、
        URL:ベース+ '/' + URL、
        contentType: "アプリケーション/ x-www-form-urlencodedで;のcharset = UTF-8"、
        データ:値は、
        データ型:「JSON」
        タイプ:「ポスト」
        成功:機能(データ){
            成功(データ);
        }、
        エラー:関数(データ){
            エラー(データ)。
        }
    });
}。

 

おすすめ

転載: www.cnblogs.com/silver-aircraft/p/11996383.html