Tiles in Spring MVC

My project uses Apache Tiles in my tiles.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> <tiles-definitions> <definition name="index" template="/WEB-INF/jsp/templates/templateuser.jsp"> <put-attribute name="content" value="/WEB-INF/jsp/index.jsp" /> </definition> ....... </tiles-definitions> 

i configured viewResolver in dispatcher-servlet.xml

  <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/tiles.xml</value> </list> </property> </bean> 

my pom.xml

 <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-core</artifactId> <version>3.0.4</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-api</artifactId> <version>3.0.4</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-el</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-mvel</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-ognl</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-api</artifactId> <version>1.0.4</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-jsp</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-freemarker</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-autotag-core-runtime</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-freemarker</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-mustache</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-servlet</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-servlet-wildcard</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-request-velocity</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-servlet</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-template</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-velocity</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-compat</artifactId> <version>3.0.1</version> </dependency> 

i put the file .jsp, .html, .css, etc. into the correct dirctory. When I run the code, I get an error HTTP status 500 - request processing failed; The nested exception is org.apache.tiles.definition.DefinitionsFactoryException: I / O error definitions. I do not know why?

+6
source share
2 answers

If you are using tiles2 , the value of the viewClass property should be tiles2 , change it to

 <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/> 

And tilesConfigurer should also be type tiles2,

 <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> ... </bean> 

Otherwise , if you want to use tiles3 , you need to change the DTD version to tiles3 corresponding to this,

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

if you use tiles3 make sure you have

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

instead

 <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> tiles.xml 

Another thing, you did not notice this moment when you have an Internet connection, because the verification will take place differently.

+2
source

Source: https://habr.com/ru/post/972945/


All Articles