Spring MVC - Ví dụ về trình phân giải chế độ xem gói tài nguyên

Các ResourceBundleViewResolverđược sử dụng để phân giải tên chế độ xem bằng cách sử dụng các hạt chế độ xem được xác định trong tệp thuộc tính. Ví dụ sau đây cho thấy cách sử dụng ResourceBundleViewResolver bằng Spring Web MVC Framework.

TestWeb-servlet.xml

<bean class = "org.springframework.web.servlet.view.ResourceBundleViewResolver">
   <property name = "basename" value = "views" />
</bean>

Đây, basenameđề cập đến tên của gói tài nguyên mang các khung nhìn. Tên mặc định của gói tài nguyên làviews.properties, có thể được ghi đè bằng cách sử dụng thuộc tính basename.

views.properties

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

Ví dụ: bằng cách sử dụng cấu hình trên, nếu URI -

  • / hello được yêu cầu, DispatcherServlet sẽ chuyển tiếp yêu cầu tới hello.jsp được định nghĩa bởi bean hello trong views.properties.

  • Ở đây, "xin chào" là tên chế độ xem được so khớp. Trong khi,class đề cập đến loại chế độ xem và URL là vị trí của chế độ xem.

Để bắt đầu, hãy để chúng tôi có một IDE Eclipse đang hoạt động và xem xét các bước sau để phát triển một Ứng dụng Web dựa trên Biểu mẫu Động bằng cách sử dụng Spring Web Framework.

Bươc Sự miêu tả
1 Tạo một dự án với tên TestWeb trong một gói com.tutorialspoint như đã giải thích trong chương Spring MVC - Hello World.
2 Tạo một lớp Java HelloController trong gói com.tutorialspointpack.
3 Tạo một tệp xem hello.jsp trong thư mục con jsp.
4 Tạo một tệp thuộc tính views.properties trong thư mục src.
5 Tải xuống thư viện JSTL jstl.jar . Đặt nó vào CLASSPATH của bạn.
6 Bước cuối cùng là tạo nội dung của tệp nguồn và cấu hình và xuất ứng dụng như được giải thích bên dưới.

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

xin chào.jsp

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

Khi bạn đã hoàn tất việc tạo tệp nguồn và cấu hình, hãy xuất ứng dụng của bạn. Nhấp chuột phải vào ứng dụng của bạn, sử dụngExport → WAR File và lưu tệp HelloWeb.war của bạn trong thư mục ứng dụng web của Tomcat.

Bây giờ, hãy khởi động máy chủ Tomcat của bạn và đảm bảo rằng bạn có thể truy cập các trang web khác từ thư mục ứng dụng web bằng trình duyệt chuẩn. Cố gắng truy cập URL -http://localhost:8080/HelloWeb/hello và nếu mọi thứ đều ổn với Ứng dụng Web Mùa xuân, chúng ta sẽ thấy màn hình sau.