Used for generic thumbnail processing. If a request for '/pics/newyork.html' is received, the image interceptor will look for a directory at '/var/www/html/images/newyork'. If the directory exists generate any missing thumbnails and have the view rendered by the imageViewName property.
<?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: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"> <!--Setup interceptor for annotation-based controllers --> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name="interceptors"> <list> <ref bean="localeChangeInterceptor"/> <ref bean="imageInterceptor"/> </list> </property> <property name="defaultHandler"> <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" /> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <context:annotation-config /> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/tiles-defs/templates.xml</value> </list> </property> </bean> <bean id="dynamicTilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springbyexample.web.servlet.view.tiles2.DynamicTilesView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <value>messages</value> </property> </bean> <!-- Declare the Interceptor --> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="locale"/> </bean> <!-- Declare the Resolver --> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/> <bean name="imageInterceptor" class="org.springbyexample.web.servlet.image.ImageInterceptor"> <property name="imageProcessor"> <bean class="org.springbyexample.util.image.ImageProcessorImpl" /> </property> <property name="rootImagePath" value="/var/www/html" /> <property name="imageViewName" value="/pics/generic_display" /> </bean> </beans>
JSP referenced by the imageViewName property defined in the imageInterceptor bean.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <table> <c:forEach var="item" items="${imageList}" varStatus="status"> <c:if test="${(status.index % rowWidth) == 0}"> <tr> </c:if> <td> <a href="${item.imagePath}"><img src="${item.thumbnailPath}"></a> </td> <c:if test="${(status.index % 3) == (rowWidth -1)}"> </tr> </c:if> </c:forEach> </table>