我试图在Spring 3.1中配置apache瓷砖2.2.2 EL支持。Spring 3中的Apache瓷砖EL支持
根据瓷砖的文档,并从我对谷歌发现,这应该工作,但它好好尝试一下,相反,它会引发NullPointerException异常
瓷砖配置:
<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>
简单地砖的定义:
<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>
,而不是你加'<%@标签库的URI =“http://tiles.apache.org/tags -tiles“prefix =”tiles“%>'在jsp文件的开头?你可以更精确地说'NullPointerException' - 发布完整的堆栈跟踪吗? – Xaerxess
同意@Xaerxess。你能发布你的整个JSP和NPE的堆栈跟踪吗? –