2015-03-03 19 views
6

Tôi mới đến mùa xuân và cố gắng sử dụng lát bằng Spring. nhưng nhận được lỗi trên. tôi đang sử dụng maven trong dự án của tôi. tôi đã thử thay đổi các phiên bản, nhưng không sử dụng. Sau đây là nội dung của dự án:lát bằng lò xo: ​​nhận lỗi - java.lang.ClassNotFoundException: org.apache.tiles.TilesApplicationContext

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> 

gạch-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> 

sau đó có tilesMainTemplate, tiêu đề và footer jsp của mà tôi không nghĩ rằng có bất kỳ vấn đề. bất kỳ giúp đỡ trong lĩnh vực này sẽ được đánh giá cao, cảm ơn trước.

Trả lời

15

Cuối cùng nó hoạt động! Tôi thay thế tiles2 bởi tiles3 chỉ như một cách chính xác hiện bởi MCK và thêm dòng sau vào gạch-definitions.xml

<!DOCTYPE tiles-definitions PUBLIC 
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" 
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 
+0

Nó hiệu quả với tôi –

10

Trong tệp servlet-context.xml bạn đang sử dụng các lớp tích hợp tile-spring-tiles.

Sử dụng thay vào đó các lớp được tìm thấy trong org.springframework.web.servlet.view.tiles3

+0

vì vậy tôi nên thay thế tiles2 bởi tiles3, phải không? – BhendiGawaar

0
use this code if your are using version 3 . based on the version your are using should configure the tiles. 
<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> 
0

Sử dụng:

import org.springframework.web.servlet.view.tiles3.TilesView; 

Không:

import org.springframework.web.servlet.view.tiles2.TilesView; 
Các vấn đề liên quan