subrutin
a sequence of programmer life

Advertisement

Membangun Project Pertama Menggunakan Spring Web MVC (Bagian 2)

0 31

Sebelumnya, pada bagian pertama tulisan ini – subrutin telah menunjukan bagaimana membuat project pertama  “kosongan” yang siap diisi program menggunakan framework spring web mvc. Pada bagian kedua, programmer akan membuat sebuah program sederhana sekaligus merepresentasikan pattern mvc yang telah dibahas pada artikel yang berjudul Belajar Spring Web MVC : “Web Framework” Untuk Aplikasi Web

Advertisement

Misalkan, akan dibangun sebuah aplikasi berbasis web sederhana yang menampilkan sejumlah data karyawan di sebuah perusahaan. Untuk tujuan itu, diperlukan sebuah model bernama Employee yang merepresentasikan entitas dari karyawan. Class Employee terdiri dari properti sebagai berikut

  • id
  • fullName
  • address
package com.subrutin.springmvc.domain;

public class Employee {

    private String id;
    private String name;
    private String address;
    
    
    public Employee(String id, String name, String address) {
        super();
        this.id = id;
        this.name = name;
        this.address = address;
    }
        //getter setter diabaikan
}

Advertisement

Berikutnya buat class controller, bernama EmployeeController. Class ini harus berlokasi pada package com.subrutin.springmvc.controller. Lokasi ini berdasarkan konfigurasi yang dibuat pada main-servlet.xml yang telah dibuat pada bagian 1 tulisan ini.

package com.subrutin.springmvc.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.subrutin.springmvc.domain.Employee;


@Controller
public class EmployeeController {

    private List<Employee> employee = new ArrayList<Employee>();

    public EmployeeController() {
        employee.add(new Employee("1","Tedy Tri Saputro","Indonesia"));
        employee.add(new Employee("2","Elon Musk","USA"));
        employee.add(new Employee("3","Larry Page","USA"));
    }
    
    @RequestMapping("employee")
    public ModelAndView list(Model model) {
        ModelAndView mav = new ModelAndView("list");
        model.addAttribute(employee);
        return mav;
    }
    
}

 

Perhatikan, pada baris 14 anotasi @Controller digunakan untuk memberitahu spring bahwa class tersebut merupakan controller. Pada baris 19-23,  data list members dibuat hardcoded, hanyalah untuk keperluan pembelajaran dan simplifikasi. Pada project yang sebenarnya, data akan diambil oleh sebuah class service.

Advertisement

Anotasi @RequestMapping pada method list digunakan untuk memberitahu spring agar request dengan path  /employee.html ditangani method tersebut. Pada baris 27, object ModelAndView  digunakan untuk menentukan nama view mana yang dipanggil. Karena di dalam program dituliskan new ModelAndView(list) maka file jsp yang akan dirender adalah WEB-INF/jsp/list.jsp (perhatikan konfigurasi main-servlet.xml yang telah dibuat pada bagian 1)

Selanjutnya, buat program jsp pada WEB-INF/jsp/list.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>Employee</title>
</head>
<body>
	<h1>Employee</h1>
	<c:forEach var="employee" items="${employeeList}">
		<li>
			<c:out value="${employee.name}"></c:out>
		</li>
	</c:forEach>
</body>
</html>

pada layer view yang diwakili oleh teknologi jsp, digunakan jstl yang digunakan untuk menampilkan daftar Employee yang telah dimuat di EmployeeController. tag  c:forEach bertugas melakukan iterasi sejumlah elemen di dalam list, sedangkan c:outmerendernya ke dalam bentuk html.

Ketika program tersebut dideploy dan dijalankan menggunakan Apache Tomcat 9.0. Berikut adalah hasil yang ditampilkan

Source code yang diulas pada tulisan ini dapat dilihat pada repositori di Github

advertisement

Get real time updates directly on you device, subscribe now.

Tinggalkan pesanan

Alamat email anda tidak akan disiarkan.