2

Web リソース (Javascript、CSS、JSP など) を JAR ファイルにパッケージ化する新しい Servlet 3.0 アプローチを使用しています。このアプローチでは、アプリケーションの起動時に JARROOT/src/META-INF/resources の下にあるすべてのものが WAR ルートにマウントされると言われています。CSS と Javascript ではすべてのファイルが機能しますが、Struts タイルではそれほど多くはありません。

これは私がJARに持っている構造です:

base.jar
|--src/
|----META-INF/
|------base.tld
|------resources/
|--------base/
|----------css/
|----------js/
|----------baseTiles.xml

私のアプリケーション (WAR) web.xml では、タイル用に次のように取得しました。

<context-param>
    <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
    <param-value>/WEB-INF/tiles.xml,/base/baseTiles.xml</param-value>
</context-param>

アプリケーションを起動すると、baseTiles.xml に関するエラーは発生しないため、タイル ファイルにエラーがあると想定します。<tiles:insertAttribute>ただし、(タグを使用して) JSP からタイルを参照しようとすると失敗します。

org.apache.tiles.jsp.taglib.NoSuchAttributeException: Attribute 'base.nav' not found.

それは何だと思いますか?

概要とその他の情報:

  • JBoss eap 6.1 Alpha の使用
  • Struts 2.1.4 の使用
  • ベース JAR は、WAR とともに lib ディレクトリに含まれています。
  • ベース JAR には、上記のすべてのファイル (baseTiles.xml を含む) が含まれています。

ご協力ありがとうございました!!

4

2 に答える 2

0

これは、3.1 サーブレット仕様の正しいスキーマ定義です。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">
于 2014-09-04T22:48:15.067 に答える