Еще одна статья о tiles - отличие от Немного о tiles ч.2 в том, что мы работаем только через контекст - аннотации не используются. Во-вторых мы не используем property файл с замапленными классами-обработчками вьюшек и дефинишенов в tiles. Также следует отметить, что если прописать в tiles-defs.xml путь, который удовлетворяет url-pattern в web.xml - то сервлет обработает это значение и выведет его во вьюшку. В целом tiles-defs.xml - такой же как и части 2.
Поэтому тут будет приведен один из контроллеров и контекст файлы.
tiles-defs.xml выглядит следующим образом:
Далее рассмотрим dispatcher-servlet.xml :
Ну и один из классов контроллеров. Все контроллеры лежат в пакете com.company.web
Ну и файл web.xml идентичен части 2. Собственно о tiles2 это пока все :)
Поэтому тут будет приведен один из контроллеров и контекст файлы.
tiles-defs.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="baseLayout" template="/WEB-INF/tiles/baseLayout.jsp"> <put-attribute name="title" value="Template"/> <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/> <put-attribute name="menu" value="/WEB-INF/tiles/menu.jsp"/> <put-attribute name="body" value="/WEB-INF/tiles/body.jsp"/> <put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp"/> <definition> <definition name="welcome" extends="baseLayout"> <put-attribute name="title" value="Welcome"/> <put-attribute name="body" value="/home.htm"/> <definition> <definition name="home" extends="baseLayout"> <put-attribute name="title" value="Home"/> <put-attribute name="body" value="/WEB-INF/jsp/home.jsp"/> <definition> <definition name="friends" extends="baseLayout"> <put-attribute name="title" value="Friends"/> <put-attribute name="body" value="/WEB-INF/jsp/friends.jsp"/> definition> <definition name="office" extends="baseLayout"> <put-attribute name="title" value="Office"/> <put-attribute name="body" value="/WEB-INF/jsp/office.jsp"/> <definition> <definition name="about" template="/WEB-INF/jsp/about.jsp"/> <tiles-definitions>
Далее рассмотрим dispatcher-servlet.xml :
xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.company.web" /> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" p:definitions="/WEB-INF/tiles-defs.xml" /> <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" /> <bean> <bean id="urlMapping" class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"> <property name="order" value="0" /> <bean> <bean name="home" class="com.company.web.HomeController" /> <bean name="welcome" class="com.company.web.WelcomeController" /> <bean name="about" class="com.company.web.AboutController"/> <bean name="friends" class="com.company.web.FriendsController"/> <beans>
Ну и один из классов контроллеров. Все контроллеры лежат в пакете com.company.web
package com.company.web; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class HomeController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws Exception { ModelAndView mv = new ModelAndView("home"); List<String> list = new ArrayList<String>(); list.add("First"); list.add("Second"); list.add("Third"); mv.addObject("validData", list); mv.addObject("str", "test string on home"); return mv; } }
Ну и файл web.xml идентичен части 2. Собственно о tiles2 это пока все :)
Комментариев нет:
Отправить комментарий