2012-01-25 5 views
8

Apacheのタイルを設定しようとしています。2.2.2 Spring 3.1のELサポート。Apache 3のタイルのELサポート

<bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver"> 
    <property name="order" value="1"/> 
</bean> 

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/views/**/views-def.xml</value> 
     </list> 
    </property> 
    <property name="tilesProperties"> 
     <props> 
      <prop key="org.apache.tiles.evaluator.AttributeEvaluator"> 
       org.apache.tiles.el.ELAttributeEvaluator 
      </prop> 
     </props> 
    </property> 
</bean> 

シンプルなタイル定義:

は、タイルのドキュメントによると、私はGoogleで見つけたものを、これは動作するはずですから、それはdoens't、その代わりに、NullPointerExceptionが

タイル設定を投げます:

<tiles-definitions> 
    <definition name="temp.test" template="/WEB-INF/views/temp/test.jsp"> 
     <put-attribute name="test" expression="${test}" /> 
    </definition> 
</tiles-definitions> 

なtest.jsp

<%--Works fine--%> 
<h2>Called in jsp</h2> 
<p> 
    <c:out value="${test}"/> 
</p> 

<%-- throws NullPointerException --%> 
<h2>Inserted from tiles</h2> 
<p> 
    <tiles:getAsString name="test"/> 
</p> 
CPのの

タイルライブラリ:

<dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-api</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-core</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-jsp</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-template</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-el</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
+2

あなたは 'ます。<%@ taglib uri =" http://tiles.apache.org/tagsを追加しました-tiles "prefix =" tiles "%>' jspファイルの先頭に? 'NullPointerException'についてもっと正確に記述できますか?完全なスタックトレースを投稿しますか? – Xaerxess

+0

@ Xaerxessと同意します。 JSP全体とNPEのスタックトレースを投稿できますか? –

答えて

0

使用

<!--this works fine with expressions--> 
<tiles:insertAttribute name="test" ignore="true" /> 

代わりの

<!-- and this will throw NullPointerException if value is not provided--> 
<tiles:getAsString name="test" ignore="true"/> 
0

Spring MVCの3.1.2.RELEASEやタイル2.2.2で遊んでいる間、NULLポインタと同様の動作を持っていました。最新の2.9.1がある場合は、xerxesImplを確認してください。また、前に述べたようにあなたのtaglibをチェックし、あなたのロギングをチェックしてください。これらは一緒に正常に動作:

<org.slf4j.version>1.5.8</org.slf4j.version> 
    <log4j.version>1.2.16</log4j.version> 
    <xercesImpl.version>2.9.1</xercesImpl.version> 
    <org.springframework-version>3.1.2.RELEASE</org.springframework-version> 
    <tiles.core.api.servlet.jsp.version>2.2.2</tiles.core.api.servlet.jsp.version> 
関連する問題