Strutsタグライブラリの設定

Strutsタグライブラリを構成する

Strutsフレームワークでは、ビューページ(JSP)でアクセスするためにStrutsタグライブラリを常に構成する必要があります。 構成には2つの方法があります。

1. Strutタグライブラリの手動構成

手動構成は、Struts version ⇐ 1.1 and Servlet < 2.3コンテナーで使用される、古くて古典的な方法です。 すべてのStruts依存関係をダウンロードし、次の「tld」ファイルがWEB-INFフォルダーにコピーされていることを確認します。これらのファイルはダウンロードしたStrutsライブラリにあります。

  • struts-bean.tld

  • struts-html.tld

  • struts-logic.tld

  • struts-tiles.tld

web.xml
web.xmlでtagliburiを宣言します

...

     
      http://struts.apache.org/tags-bean
     
     
      /WEB-INF/struts-bean.tld
     


     
      http://struts.apache.org/tags-html
     
     
      /WEB-INF/struts-html.tld
     


     
      http://struts.apache.org/tags-logic
     
     
      /WEB-INF/struts-logic.tld
     


     
      http://struts.apache.org/tags-tiles
     
     
      /WEB-INF/struts-tiles.tld
     


     
      http://struts.apache.org/tags-nested
     
     
      /WEB-INF/struts-nested.tld
     

...

これで、JSPページでアクセスできます。 JSPの@taglib uriはweb.xml<taglib-uri>と一致する必要があります


実際には、たとえば、独自のtaglib uri名を定義できます。

web.xml

...

     
      customer-anything/tags-bean
     
     
      /WEB-INF/struts-bean.tld
     

...

次に、カスタムtaglib uri名を使用してアクセスします。


2. Strutタグライブラリの自動構成

これは簡単な方法であり、Struts version 1.2, 1.3 and Servlet 2.3/2.4 containerでのみ使用されます。 web.xmlで「tlds」の詳細を定義する必要はありません。プロジェクトのクラスパスにstruts-taglib.jarを含めるか、WEB-INF / libフォルダーにコピーするだけです。

すべての「tld」の詳細は、「struts-taglib.jar\META-INF ld」フォルダー内で定義されています。 展開中、struts-bean.tldstruts-html.tldstruts-logic.tld、およびstruts-tiles.tldは自動的に展開されます。 ただし、次の「pre-fixed uri」名でのみアクセスできます。 この方法では、「taglib uri」の名前を変更することはできません。


FAQ

Q : Look like the “taglib uri” is pointing to Apache website, how about the client has NO internet access?
A:taglib uriは「struts-taglib.jar\META-INF ld」フォルダーで定義されています。これは単なるプロジェクトURI名であり、ApacheWebサイトを指していません。引き続きアクセスできます。インターネットアクセス環境がない場合。

Q : Can the manual configuration work in latest Struts 1.2 or 1.3?
A:はい、Strutsは下位互換性があり、古い方法はStruts1.2および1.3でも引き続きサポートされています。

Q : Which method is the best?
A:状況によりますが、自動構成はサーブレット2.3 /2.4コンテナでのみ機能します。 選択できる場合は、自動方法に進んでください。なぜtldファイルを手動でコピーしたいのですか?