spring 的图块:出现错误 - java.lang.ClassNotFoundException:org.apache.tiles.TilesApplicationContext
tiles with spring : getting error - java.lang.ClassNotFoundException: org.apache.tiles.TilesApplicationContext
我是 spring 的新手,正在尝试将图块与 Spring 一起使用。但得到以上错误。我在我的项目中使用 Maven。我也尝试过更改版本,但没有用。以下是项目内容:
pom.xml
<!-- Apache Tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-template</artifactId>
<version>3.0.5</version>
</dependency>
servlet-context.xml
<!-- for Tiles -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" id="tilesConfigurer">
<property name="definitions" value="/WEB-INF/tiles-definitions.xml" />
</bean>
方块-definitions.xml
<?xml version="1.0" encoding="UTF-8"?>
<tiles-definitions>
<definition name="base.definition" template="/WEB-INF/views/tilesMainTemplate.jsp">
<put-attribute name="title" value=""></put-attribute>
<put-attribute name="header" value="/WEB-INF/views/header.jsp"></put-attribute>
<put-attribute name="menu" value="/WEB-INF/views/home.jsp"></put-attribute>
<put-attribute name="body" value=""></put-attribute>
<put-attribute name="footer" value="/WEB-INF/views/footer.jsp"></put-attribute>
</definition>
<definition extends="base.definition" name="saveAd">
<put-attribute name="title" value="Post your free Ad"></put-attribute>
<put-attribute name="body" value="/WEB-INF/views/adSave.jsp"></put-attribute>
</definition>
</tiles-definitions>
然后是 tilesMainTemplate、页眉和页脚 jsp,我认为它们没有任何问题。在这方面的任何帮助将不胜感激,提前致谢。
在您的 servlet-context.xml 中,您正在使用 tiles2 spring-tiles 集成 类。
改用 org.springframework.web.servlet.view.tiles3
下的 类
如果您使用的是版本 3,请使用此代码。根据您使用的版本应该配置磁贴。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles3.TilesView
</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/estudo-tiles-servlet.xml</value>
</list>
</property>
</bean>
使用:
import org.springframework.web.servlet.view.tiles3.TilesView;
不是:
import org.springframework.web.servlet.view.tiles2.TilesView;
我是 spring 的新手,正在尝试将图块与 Spring 一起使用。但得到以上错误。我在我的项目中使用 Maven。我也尝试过更改版本,但没有用。以下是项目内容:
pom.xml
<!-- Apache Tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-template</artifactId>
<version>3.0.5</version>
</dependency>
servlet-context.xml
<!-- for Tiles -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" id="tilesConfigurer">
<property name="definitions" value="/WEB-INF/tiles-definitions.xml" />
</bean>
方块-definitions.xml
<?xml version="1.0" encoding="UTF-8"?>
<tiles-definitions>
<definition name="base.definition" template="/WEB-INF/views/tilesMainTemplate.jsp">
<put-attribute name="title" value=""></put-attribute>
<put-attribute name="header" value="/WEB-INF/views/header.jsp"></put-attribute>
<put-attribute name="menu" value="/WEB-INF/views/home.jsp"></put-attribute>
<put-attribute name="body" value=""></put-attribute>
<put-attribute name="footer" value="/WEB-INF/views/footer.jsp"></put-attribute>
</definition>
<definition extends="base.definition" name="saveAd">
<put-attribute name="title" value="Post your free Ad"></put-attribute>
<put-attribute name="body" value="/WEB-INF/views/adSave.jsp"></put-attribute>
</definition>
</tiles-definitions>
然后是 tilesMainTemplate、页眉和页脚 jsp,我认为它们没有任何问题。在这方面的任何帮助将不胜感激,提前致谢。
在您的 servlet-context.xml 中,您正在使用 tiles2 spring-tiles 集成 类。
改用 org.springframework.web.servlet.view.tiles3
下的 类如果您使用的是版本 3,请使用此代码。根据您使用的版本应该配置磁贴。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles3.TilesView
</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/estudo-tiles-servlet.xml</value>
</list>
</property>
</bean>
使用:
import org.springframework.web.servlet.view.tiles3.TilesView;
不是:
import org.springframework.web.servlet.view.tiles2.TilesView;