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

page5

http://localhost:8080/injavawetrust.springmvc/page6

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

page7

http://localhost:8080/injavawetrust.springmvc/page8

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

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *