Webビューのレンダリング:Springを使用した汎用ラベルライブラリ

3636 ワード

Springを使用した汎用ラベルライブラリ
  • Springの汎用ラベルライブラリを使用するには、ページに
  • を宣言する必要があります.
    
    

    国際化情報の表示
  • は、レンダリングテキストにとって、1つ以上のプロパティファイルにテキストを配置できる良いスキームです.ハードコーディングのウェルカムメッセージ:
  • Welcome to Spittr


    次の形式に置き換えます.

  • は、keyがspittr.welcomである情報ソースに基づいてテキストをレンダリングします.そのため、このような情報源を構成する必要があります.Springには、MessageSourceインタフェースを実現する複数の情報ソースのクラスがあります.(1)より一般的で有用なのは、ResourceBundleMessageSoourceです.ベース名(base name)に基づいて派生したプロパティファイルから情報がロードされます.次の@Beanメソッドは、ResourceBundleMessageSoource:
  • を構成しています.
        @Bean
        public MessageSource messageSource() {
            ResourceBundleMessageSource messageSource =
                    new ResourceBundleMessageSource();
            messageSource.setBasename("message");
            return messageSource;
        }
    

    このbean宣言では、コアはbasenameプロパティを設定し、ルートパスのプロパティファイルで情報を解析します.これらのプロパティファイルの名前はこのbasenameに基づいて得られます.(2)その他の選択肢は、R e l o a d b l e ResourceBundleMessageSourceを使用することです.このソリューションは、ResourceBundleMessageSourceと非常に似ていますが、アプリケーションを再コンパイルまたは再起動することなく、情報属性を再ロードできます.
    @Bean
        public MessageSource messageSource() {
            ReloadableResourceBundleMessageSource messageSource =
                    new ReloadableResourceBundleMessageSource();
            messageSource.setBasename("file:///etc/spittr/message");
            messageSource.setCacheSeconds(10);
            return messageSource;
        }
    

    重要な違いは、basenameプロパティがアプリケーションの外部で検索されるように設定されていることです(ResourceBundleMessageSourceのように累積パスで検索されるのではなく).
  • message.propertiesファイルの構成、英語を例に
  • spittr.Welcom=Welcom to Spittr!
    

    URLの作成
  • の主なタスクは、URLを作成し、変数にコピーしたり、応答にレンダリングしたりすることです.最も単純な形式では、コンテキストに対するURLが受け入れられ、レンダリング時にサーブレットコンテキストパスが予め追加されます.例えば、
  • の基本的な使い方を考えます.
     ">Register
    

    適用されるコンテキスト名がspittrの場合、応答で次のHTMLがレンダリングされます.
    Register
    
  • はまた、作成URLを使用して、後で使用するために変数に値を割り当てることもできます:
  • .
    
    
    

    デフォルトでは、URLはページの役割内に作成されます.ただし、scopeプロパティを使用して、アプリケーションの役割ドメイン、セッションの役割ドメイン、または要求の役割ドメインにURLを作成できます.
    
    
    
  • URLにパラメータを追加し、ラベル:
  • を使用できます.
     
            
            
     
    

    ラベルを使用して、パス変数を持つプレースホルダを作成するには、パスパラメータを使用します.
    
            
     
    

    valueプロパティのプレースホルダが指定したパラメータに一致すると、このパラメータはプレースホルダの位置に挿入されます.パラメータがvalueの任意のプレースホルダに一致しない場合、このパラメータはクエリーパラメータとして使用されます.
  • はまた、URLの転送要件を解決することができる.(1)htmlEscapeプロパティをtrueに設定することで、レンダリングされたURLの内容をハイパーリンクとしてではなくWebページに表示することができます.
  • 
            
            
    
    

    (2)javaScriptEscape属性をtrueとすることができ、JavaコードでURLを使用することができます.
     
          
          
     
     
          var spittlesUrl = "${spittlesJSUrl}"
     
    

    エスケープ内容
  • ラベルは、汎用的なエスケープラベルです.htmlEscapeプロパティをtrueに設定することで、ページにHTMLコードクリップを表示できます.JavaScriptプロパティをtrueに設定することで、JavaScriptのエスケープを実現できます.