Ales
Ales

Reputation: 180

tiles not found jsp files, how correctly include jsp files

I tried to use tiles framework. it is my tiles configuration file:

 <definition name="listNewsqq" template="/WEB-INF/view/layouts/classic.jsp">

 </definition>

there are beans I include in servlet file for tiles:

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
        <value>
            org.springframework.web.servlet.view.tiles3.TilesView
        </value>
    </property>
</bean>

I go to page in this way: return "listNewsqq"; from my controller (I use Spring MVC)

I have a greate number of exceptions, what should I changed for correct work of program? Maybe I did something wrong, but I tried to do all by instructions.

Upvotes: 0

Views: 878

Answers (1)

Raphael Amoedo
Raphael Amoedo

Reputation: 4475

You can use TilesViewResolver directly. I don't know how are your files, but this should work:

tiles.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC  
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"  
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
    <definition name="listNewsqq" template="/WEB-INF/view/layouts/classic.jsp">
   //   <put-attribute name="title" value="Test" />
   </definition>
</tiles-definitions>

dispatcherServlet.xml

...
<bean id="viewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>
...

web.xml

...
<servlet>
    <servlet-name>tiles</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/dispatcherServlet.xml //Your servlet file
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>tiles</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
...

Upvotes: 1

Related Questions