Spring MVC - Kaynak Paketi Görünümü Çözümleyici Örneği
ResourceBundleViewResolverözellikler dosyasında tanımlanan görünüm fasulye kullanarak görünüm adlarını çözmek için kullanılır. Aşağıdaki örnek, Spring Web MVC Framework kullanılarak ResourceBundleViewResolver'ın nasıl kullanılacağını gösterir.The following example shows how to use the ResourceBundleViewResolver using the Spring Web MVC Framework.
TestWeb-servlet.xml
<bean class = "org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name = "basename" value = "views" />
</bean>
Burada basenamegörünümleri taşıyan kaynak paketinin adını ifade eder. Kaynak paketinin varsayılan adı şudur:views.properties, bu, basename özelliği kullanılarak geçersiz kılınabilir.
views.properties
hello.(class) = org.springframework.web.servlet.view.JstlView
hello.url = /WEB-INF/jsp/hello.jsp
Örneğin, yukarıdaki yapılandırmayı kullanarak URI -
/ merhaba istenirse, DispatcherServlet isteği, views.properties dosyasında bean hello ile tanımlanan hello.jsp'ye iletir.
Burada "merhaba", eşleştirilecek görünüm adıdır. Buna karşılık,class görünüm türünü ifade eder ve URL, görünümün konumudur.
Başlangıç olarak, çalışan bir Eclipse IDE'ye sahip olalım ve Spring Web Framework kullanarak Dinamik Form tabanlı bir Web Uygulaması geliştirmek için aşağıdaki adımları göz önünde bulunduralım.
Adım | Açıklama |
---|---|
1 | Spring MVC - Hello World bölümünde açıklandığı gibi com.tutorialspoint paketinin altında TestWeb adıyla bir proje oluşturun. |
2 | Com.tutorialspointpackage altında bir Java sınıfı HelloController oluşturun. |
3 | Jsp alt klasörünün altında bir görünüm dosyası hello.jsp oluşturun. |
4 | Src klasörü altında bir özellikler dosyası views.properties oluşturun. |
5 | JSTL kitaplığı jstl.jar'ı indirin . CLASSPATH'ınıza koyun. |
6 | Son adım, kaynak ve yapılandırma dosyalarının içeriğini oluşturmak ve uygulamayı aşağıda açıklandığı gibi dışa aktarmaktır. |
HelloController.java
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;
@Controller
@RequestMapping("/hello")
public class HelloController{
@RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC Framework!");
return "hello";
}
}
TestWeb-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package = "com.tutorialspoint" />
<bean class = "org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name = "basename" value = "views" />
</bean>
</beans>
views.properties
hello.(class) = org.springframework.web.servlet.view.JstlView
hello.url = /WEB-INF/jsp/hello.jsp
merhaba.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
Kaynak ve yapılandırma dosyalarını oluşturmayı tamamladığınızda, uygulamanızı dışa aktarın. Uygulamanıza sağ tıklayın, kullanınExport → WAR File seçeneğini belirleyin ve HelloWeb.war dosyanızı Tomcat'in webapps klasörüne kaydedin.
Şimdi Tomcat sunucunuzu başlatın ve diğer web sayfalarına standart bir tarayıcı kullanarak webapps klasöründen erişebildiğinizden emin olun. URL'ye erişmeyi deneyin -http://localhost:8080/HelloWeb/hello ve Spring Web Uygulamasında her şey yolundaysa aşağıdaki ekranı göreceğiz.