Spring MVC - Resource Bundle View Resolver ตัวอย่าง
ResourceBundleViewResolverใช้เพื่อแก้ไขชื่อมุมมองโดยใช้มุมมองถั่วที่กำหนดในไฟล์คุณสมบัติ ตัวอย่างต่อไปนี้แสดงวิธีการใช้ ResourceBundleViewResolver โดยใช้ Spring Web MVC Framework
TestWeb-servlet.xml
<bean class = "org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name = "basename" value = "views" />
</bean>
ที่นี่ basenameหมายถึงชื่อของบันเดิลทรัพยากรซึ่งมีมุมมอง ชื่อเริ่มต้นของบันเดิลทรัพยากรคือviews.propertiesซึ่งสามารถแทนที่ได้โดยใช้คุณสมบัติชื่อฐาน
views.properties
hello.(class) = org.springframework.web.servlet.view.JstlView
hello.url = /WEB-INF/jsp/hello.jsp
ตัวอย่างเช่นการใช้การกำหนดค่าข้างต้นหาก URI -
/ hello ถูกร้องขอ DispatcherServlet จะส่งต่อการร้องขอไปยัง hello.jsp ที่กำหนดโดย bean hello ใน views.properties
ที่นี่ "สวัสดี" คือชื่อมุมมองที่จะจับคู่ ในขณะที่class หมายถึงประเภทมุมมองและ URL คือตำแหน่งของมุมมอง
ในการเริ่มต้นให้เรามี Eclipse IDE ที่ใช้งานได้และพิจารณาขั้นตอนต่อไปนี้เพื่อพัฒนา Web Application ที่ใช้ Dynamic Form โดยใช้ Spring Web Framework
ขั้นตอน | คำอธิบาย |
---|---|
1 | สร้างโปรเจ็กต์ด้วยชื่อ TestWeb ภายใต้แพ็คเกจ com.tutorialspoint ตามที่อธิบายไว้ในบท Spring MVC - Hello World |
2 | สร้างคลาส Java HelloController ภายใต้ com.tutorialspointpackage |
3 | สร้างไฟล์มุมมอง hello.jsp ภายใต้โฟลเดอร์ย่อย jsp |
4 | สร้างไฟล์คุณสมบัติ views.properties ภายใต้โฟลเดอร์ src |
5 | ดาวน์โหลดห้องสมุด JSTL jstl.jar ใส่ไว้ใน CLASSPATH ของคุณ |
6 | ขั้นตอนสุดท้ายคือการสร้างเนื้อหาของไฟล์ต้นทางและการกำหนดค่าและส่งออกแอปพลิเคชันตามที่อธิบายด้านล่าง |
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
hello.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
เมื่อคุณสร้างไฟล์ซอร์สและไฟล์คอนฟิกเสร็จเรียบร้อยแล้วให้ส่งออกแอปพลิเคชันของคุณ คลิกขวาที่แอปพลิเคชันของคุณใช้Export → WAR File และบันทึกไฟล์ HelloWeb.war ของคุณในโฟลเดอร์ webapps ของ Tomcat
ตอนนี้เริ่มเซิร์ฟเวอร์ Tomcat ของคุณและตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงหน้าเว็บอื่น ๆ จากโฟลเดอร์ webapps โดยใช้เบราว์เซอร์มาตรฐาน พยายามเข้าถึง URL -http://localhost:8080/HelloWeb/hello และหากทุกอย่างเรียบร้อยดีกับ Spring Web Application เราจะเห็นหน้าจอต่อไปนี้