春ブーツFreemarkerののcontextPathのスペシャル・エディション[春ブーツゼロから学びます

 

需要起源:私はグループにいた@:メイングループグレート神頭痛を得るのcontextPathどのように、春ブーツ+ FreeMarkerのを聞いて質問がオンラインフライ、私を殺していませんさ。私は以前のブログを見て

[テンプレートのFreeMarkerのを使って春ブーツ]は本当に.ftlファイルでのcontextPathを入手する方法について説明していないようで、これは記事では、解決すべき問題に対処です。

 

この章では、概要を示します。

(1)提起された問題を、
方法(2)ばねのrequestContextAttribute定義される;
方法(3)スプリングブートはそれを定義する必要がありますか?
(4)まあ、より良い解決策はありますか?
(5)まとめ

 

 

       次に私たちは一緒にこのセクションを見てください。

(1)の問題が提起します。

       時々、私たちは何の設定パラメータは、その後、得られないことができない場合は、FreeMarkerのテンプレートファイル.ftlでのcontextPathを取得する必要があります。

 

どのように(2)春はrequestContextAttributeで定義されています。

       それは次のように、指定された構成の構成ファイルの春に使用されます。

<プロパティ名= "requestContextAttribute" 値= "リクエスト" />

       あなたが設定したら、私たちはx.ftl文書に次のコードを使用して導入された使用することができます。

$ {request.contextPath}。

 

どのように(3)春ブーツは、それを定義する必要がありますか?

       春には道のプロファイルを使用することですが、我々はその春ブーツが、我々はそれを行うべきか、基本的には(サポートモードプロファイルが)ゼロ構成、プログラミングを知っていますか?私たちは、次のように属性値がrequestContextPath、特定のコードを指定FreemarkerViewResolverを定義することができます。

パッケージcom.kfit.config。

 

輸入org.springframework.context.annotation.Bean。

輸入org.springframework.context.annotation.Configuration。

輸入org.springframework.web.servlet.config.annotation.EnableWebMvc;

輸入org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter。

輸入org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;

/ **

 *

 * @Authorエンジェル - 守護天使

 * @versionのv.0.1

 * @Date 2017インディアン1越15 Riを

 * /

@Configuration

@EnableWebMvc

パブリッククラスMvcConfigはWebMvcConfigurerAdapterを{延び

    @豆

    公共FreeMarkerViewResolver freeMarkerViewResolver(){

        システム。アウト .println( "MvcConfig.freeMarkerViewResolver()");

        FreeMarkerViewResolverレゾルバ=新しいFreeMarkerViewResolver()。

        resolver.setPrefix( "");

        resolver.setSuffix( "FTL。");

        resolver.setContentType( "text / htmlの;のcharset = UTF-8");

        resolver.setRequestContextAttribute( "要求")。

        リゾルバを返します。

    }

}

上記のコードを追加した後、あなたは$ {} request.contextPath x.ftlファイルで使用することができます。

 

(4)まあ、より良い解決策はありますか?

       上記の方法で問題が解決しますが、常にサークルの中を感じたしますが、我々はそれから、私たちはコードの導入への道にすぐに戻って、コンフィギュレーション・ファイルapplication.propertiesファイルで使用されて使用するときにFreeMarkerのを使用していました我々は次のapplication.propertiesそれに指定されたダイレクト考える必要ができ、答えはイエスです。我々は唯一でapplication.propertiesに以下の設定を追加する必要があります。

spring.freemarker.request-コンテキスト属性=要求

       そして、あなたは{} request.contextPath内の$ FTLファイルを使用することができます。

 

(5)まとめ

       この記事では言われて、それは実際には非常にシンプルな2段階のプロセスであることを言いました:

1、application.propertiesに次の情報を追加します。

spring.freemarker.request-コンテキスト属性=要求

2は、x.ftlファイルで行わ:

$ {} request.contextPath

おすすめ

転載: www.cnblogs.com/kelelipeng/p/11433699.html