
web.xmlでtaglib-locationを設定する理由
質問させてください。
strutsでwebプログラミングの勉強をしています。
タグライブラリを使用する際に、web.xmlに<taglib-location>なるものを以下のように記載する必要があることを学びました。
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
これを設定する理由はなんでしょうか?
素人考えでは、シンプルにtaglib-uriに記載しているところにライブラリファイルを置けばよい気がします。
セキュリティ関係の理由があるのでしょうか?(確か、WEB-INF以下のディレクトリは利用者から見れない設定だったと記憶しています)
初歩的な質問の気もしますが、どなたか教えていただけると幸いです。
以上よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
タグライブラリを使用するためのuriの指定方法は3つあります。
今回のようにweb.xmlに<taglib>を使い定義する方法を用いた場合ですが、<taglib-uri>に指定するのは実際の物理パスではなく、論理的な識別子です。
そして、<taglib-location>に書くのは<taglib-uri>に指定したuriにマッピングするTLDファイルの物理パスです。
つまり/tags/struts-htmlというuriを指定すると<taglib-location>に指定したtldファイルを参照するという仕組みになっています。
<taglib-uri>に定義した任意のURIを指定すれば<taglib-location>にあるtldファイルを参照してくれるというわけです。
<taglib-uri>には任意のURIを指定できるので好きなようにURIを設定できます。
ただし、一般的にはhttp://ドメイン名/~のようにURL形式で定義するのが推奨されているようです。
No.2
- 回答日時:
>これを設定する理由はなんでしょうか?
externalizing resources と呼ばれるものです。
一般的には、separation of concerns(日本語訳は「関心の分離」)によって、リコンパイルせずに後で内部情報を変更できるようにすることが目的ですが(ローカライゼーションとか)、このケースではセキュリティ確保という面もあります。
なお今のバージョンのStruts1(ver1.3.x)では、struts-taglib.jar をパス内のどこかにコピーしてやれば、web.xmlは、
<%@ taglib
uri="http://struts.apache.org/tags-html"
prefix="html" %>
でOKです。(warファイルにする時には/WEB-INF下にコピーする必要がありますが)
http://struts.apache.org/1.3.10/userGuide/config …
5.4.3.1 Configure the Struts JSP Tag Libraries (Servlet 2.3/2.4)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Tomcatのエラーページをカスタ...
-
ibatis初心者 設定エラー
-
Eclipseで、プロジェクト名のと...
-
classファイルについて
-
「ワークスペースをビルド中」...
-
Eclipse・プロジェクトで、フォ...
-
正しいURL指定しているにもかか...
-
コミット前の更新データをチェ...
-
SVFの設定について:クラスパス...
-
html上で、バッチやexeファイル...
-
eclipseで1ファイルの警告を100...
-
MSDNのコレクションがありませ...
-
eclipseでスタックサイズを変更...
-
エラー:org.springframeworkが...
-
Worksheet_Changeが動かない
-
この <windows.h> はどこに在る...
-
JSPのクラスをコンパイルできな...
-
Tera Term ネットワークに到達...
-
JAR内のクラス一覧と、メソッド...
-
IEの印刷機能を制御して印刷設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TomcatでのHTMLの表示
-
org.xml.sax.SAXParseException...
-
ibatis初心者 設定エラー
-
hibernate.cfg.xmlの配置場所に...
-
struts使用時のソースの位置
-
【Tomcatが突然動かなく...
-
Tomcatのエラーページをカスタ...
-
web.xmlでのエラーページ
-
is this even a thing?
-
dockerのdocker-compose.ymlフ...
-
jspでこんなエラーが出ます
-
StrutsのDataSourceの使い方。...
-
Javaでの数値の表示について
-
web.xmlのwelcomefileについて
-
Highslide JSのコントローラー...
-
onkeydownでprintscreenは
-
web.xmlでtaglib-locationを設...
-
Eclipse、Tomcat、Mysql で開...
-
Eclipseで、プロジェクト名のと...
-
「ワークスペースをビルド中」...
おすすめ情報