Spring MVC - Contoh Pemetaan Penyelesai Ganda

Jika Anda ingin menggunakan Multiple View Resolver dalam aplikasi Spring MVC, maka urutan prioritas dapat diatur menggunakan properti order. Contoh berikut menunjukkan cara menggunakan fileResourceBundleViewResolver dan InternalResourceViewResolver di Spring Web MVC Framework.

TestWeb-servlet.xml

<bean class = "org.springframework.web.servlet.view.ResourceBundleViewResolver">
   <property name = "basename" value = "views" />
   <property name = "order" value = "0" />
</bean>
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name = "prefix" value = "/WEB-INF/jsp/" />
   <property name = "suffix" value = ".jsp" />
   <property name = "order" value = "1" />
</bean>

Di sini, properti order menentukan peringkat resolver tampilan. Dalam hal ini, 0 adalah resolver pertama dan 1 adalah resolver berikutnya, dan seterusnya.

views.properties

hello.(class) = org.springframework.web.servlet.view.JstlView
hello.url = /WEB-INF/jsp/hello.jsp

Misalnya, menggunakan konfigurasi di atas, jika URI -

  • / hello diminta, DispatcherServlet akan meneruskan permintaan ke hello.jsp yang didefinisikan oleh bean hello di views.properties.

Untuk memulai, mari kita memiliki IDE Eclipse yang berfungsi dan mempertimbangkan langkah-langkah berikut untuk mengembangkan Aplikasi Web berbasis Formulir Dinamis menggunakan Spring Web Framework.

Langkah Deskripsi
1 Buat proyek dengan nama TestWeb di bawah paket com.tutorialspoint seperti yang dijelaskan dalam bab Spring MVC - Hello World.
2 Buat kelas Java HelloController di bawah com.tutorialspointpackage.
3 Buat file view hello.jsp di bawah sub-folder jsp.
4 Buat file properti views.properties di bawah folder SRC.
5 Unduh perpustakaan JSTL jstl.jar . Taruh di CLASSPATH Anda.
6 Langkah terakhir adalah membuat konten file sumber dan konfigurasi dan mengekspor aplikasi seperti yang dijelaskan di bawah ini.

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" />
      <property name = "order" value = "0" />
   </bean>
   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
      <property name = "order" value = "1" />
   </bean>
</beans>

views.properties

hello.(class) = org.springframework.web.servlet.view.JstlView
hello.url = /WEB-INF/jsp/hello.jsp

hello.jsp

<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>${message}</h2>
   </body>
</html>

Setelah Anda selesai membuat file sumber dan konfigurasi, ekspor aplikasi Anda. Klik kanan pada aplikasi Anda, gunakanExport → WAR File opsi dan simpan HelloWeb.war file di folder webapps Tomcat.

Sekarang, jalankan server Tomcat dan pastikan Anda dapat mengakses halaman web lain dari folder webapps menggunakan browser standar. Cobalah untuk mengakses URL -http://localhost:8080/HelloWeb/hello, jika semuanya baik-baik saja dengan Aplikasi Web Spring, kita akan melihat layar berikut.