Spring MVC – 18 – ViewResolver – 02 | InternalResourceViewResolver | UrlBasedViewResolver
Merhaba Arkadaslar
Bu bolumde ViewResolver konusuna devam ediyoruz. Bu bolumde inceleyecegimiz ViewResolver implementation’lari ;
- InternalResourceViewResolver
- UrlBasedViewResolver
InternalResourceViewResolver
InternalResourceViewResolver simdiye kadar orneklerimizde bol miktar kullandik. InternalResourceViewResolver , UrlBasedViewResolver sinifinin alt sinifidir.
Default olarak view olarak InternalResourceView kullanilir.
public class InternalResourceViewResolver extends UrlBasedViewResolver { ... }
18.internalResourceViewResolver.xml
.... <context:component-scan base-package="_18.internalResourceViewResolver.controller" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> ....
ResolverController3.java
package _18.internalResourceViewResolver.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class ResolverController3 { @RequestMapping("/page5") public ModelAndView handleViewResolverForPage5() { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "page5"); modelAndView.setViewName("18.internalResourceViewResolver.view/myPage5"); return modelAndView; } @RequestMapping("/page6") public ModelAndView handleViewResolverForPage6() { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "page6"); modelAndView.setViewName("18.internalResourceViewResolver.view/myPage6"); return modelAndView; } }
web.xml
web.xml dosyamizi duzenleyelim ;
.... <init-param> <param-name>contextConfigLocation</param-name> <param-value> <!-- /WEB-INF/01.appContext.xml /WEB-INF/02.00.appContext.xml /WEB-INF/03.multiActionController.xml ..... --> /WEB-INF/18.internalResourceViewResolver.xml </param-value> </init-param> ....
Ornegimizi calistirdigimizda ;
http://localhost:8080/injavawetrust.springmvc/page5
http://localhost:8080/injavawetrust.springmvc/page6
UrlBasedViewResolver
UrlBasedViewResolver icin benzer bir ornek uygulama yapalim ;
19.urlBasedViewResolver.xml
NOT : Burada viewClass property icin bir view belirtmemiz gereklidir. Yoksa exception aliriz.
NOT 2 : JstlView , InternalResourceView sinifinin altsinifidir.
.... <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> ...
ResolverController4.java
package _19.urlBasedViewResolver.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class ResolverController4 { @RequestMapping("/page7") public ModelAndView handleViewResolverForPage5() { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "page5"); modelAndView.setViewName("19.urlBasedViewResolver.view/myPage7"); return modelAndView; } @RequestMapping("/page8") public ModelAndView handleViewResolverForPage6() { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "page6"); modelAndView.setViewName("19.urlBasedViewResolver.view/myPage8"); return modelAndView; } }
web.xml
web.xml dosyamizi guncelleyelim ;
.... <init-param> <param-name>contextConfigLocation</param-name> <param-value> <!-- /WEB-INF/01.appContext.xml /WEB-INF/02.00.appContext.xml /WEB-INF/03.multiActionController.xml ..... /WEB-INF/13.xmlViewResolver.xml /WEB-INF/14.resourceBundleViewResolver.xml --> /WEB-INF/19.urlBasedViewResolver.xml </param-value> </init-param> ....
Ornegimizi calistirdigimizda ;
http://localhost:8080/injavawetrust.springmvc/page7
http://localhost:8080/injavawetrust.springmvc/page8
Github kaynak kodlar / source folder
Injavawetrust-springmvc-tutorial
Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer
Leave a Reply