Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Quarkus Dersleri
  • Spring Dersleri
    • Spring Cloud
    • Spring Boot
    • Spring Uygulama Örnekleri
    • Spring Core
    • Spring JDBC Template
    • Spring MVC
  • İleri Java Dersleri
    • Java Server Faces
    • Java Server Pages
    • PrimeFaces
    • Servlet
    • JDBC
    • JSTL
    • Java 8
  • Hibernate Dersleri
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
  • Hakkımda
Spring MVC

Spring MVC Form İşlemleri ModelAttribute Kullanımı

Paylaş

Spring MVC Dersleri‘ne devam ediyoruz.

Spring MVC ile yapacağımız web uygulamalarında bolca kullanacağımız form işlemlerini yakından inceleyeceğiz. Spring MVC ile Form İşlemleri kullanarak dinamik web sayfaları ile etkileşime geçebilmekteyiz.

ModelAttribute anotasyonu kullanarak web sayfamız ile backend arasında veriler arasında iletişimi sağlamaktadır. Controller kullanarak verileri almaktayız. Şimdi bir örnek ile açıklayalım. Bu örneğimizde basit bir veri girişi olan form oluşturup verilerimizi backend tarafına ModelAttribute kullanarak alacağız.

Örneğimiz bir üye kayıt formu yapmak olacak.

public class Customer {
   private Integer age;
   private String name;

   public void setAge(Integer age) {
      this.age = age;
   }
   public Integer getAge() {
      return age;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getName() {
      return name;
   }

}

Modelimizi oluşturduk.

@Controller
public class CustomerController {

   @ModelAttribute("customer")
   public Customer setup() {
      return new Customer();
   }

   @RequestMapping(value = "/customer", method = RequestMethod.GET)
   public ModelAndView customer() {
      return new ModelAndView("customer", "command", new Customer());
   }

   @RequestMapping(value = "/addCustomer", method = RequestMethod.POST)
      public String addCustomer(@ModelAttribute("Customer")Customer customer, ModelMap model) {
      model.addAttribute("name", customer.getName());
      model.addAttribute("age", customer.getAge());
      
      return "result";
   }
}

Controllerimizi ekledik ve ModelAttribute anotasyonu ile kontrol edebileceğimiz Customer beanimizi tanımladık. ModelAttribute new Customer diyerek boş bir Customer oluşturuyoruz bu nesne sayesinde jsp sayfamızdan controllere aktarabilmekte ve yönetilebilmekteyiz.

<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.burakkutbay" />

   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>
 
</beans>

Servletimizi oluşturduk. Şimdi web sayfamızı oluşturalım.

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Burak KUTBAY</title>
   </head>

   <body>
   
      <form:form method = "POST" action = "/Customer/addCustomer">
         <table>
            <tr>
               <td><form:label path = "name">Name</form:label></td>
               <td><form:input path = "name" /></td>
            </tr>
            <tr>
               <td><form:label path = "age">Age</form:label></td>
               <td><form:input path = "age" /></td>
            </tr>
            <tr>
               <td colspan = "2">
                  <input type = "submit" value = "Submit"/>
               </td>
            </tr>
         </table>  
      </form:form>
   </body>
   
</html>

Jsp sayfamızı oluşturduk. Form tagı ile oluşturduğumuz formdaki verinin nasıl gönderileceğini ve hangi yolu kullanarak hangi url’ye gideceğini action ile belirttik.

Şimdi kaydedilen bilgiler sonrasında oluşturulan müşteri bilgisini gösteren sayfamızı oluşturalım.

<%@page contentType = "text/html;charset = UTF-8" language = "java" %>
<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Burak KUTBAY Blog</title>
   </head>

   <body>
      <table>
         <tr>
            <td>Name</td>
            <td>${name}</td>
         </tr>
         <tr>
            <td>Age</td>
            <td>${age}</td>
         </tr>
      </table>  
   </body>
   
</html>

Model Attribute anotasyonu kullanarak ön sayfamızdan verileri alıp yönetebilmekteyiz.

Önceki Ders: @PathVariable Kullanımı Spring MVC Dersleri Sonraki Ders: Form Validation @InitBinder Kullanımı

Tags:

modelattributespring mvcSpring MVC Derslerispring mvc örnek

Paylaş

Diğer Yazılar

Previous

Hibernate Türkçe Karakter Sorunu ve Çözümü

Spring Dersleri
Next

Spring MVC Form İşlemleri Form Validation @InitBinder Kullanımı

Next
Spring Dersleri
06 Şubat 2018

Spring MVC Form İşlemleri Form Validation @InitBinder Kullanımı

Previews
10 Ocak 2018

Hibernate Türkçe Karakter Sorunu ve Çözümü

blank

One Comment

  1. Furkan dedi ki:
    25 Ekim 2020, 00:09

    Merhaba yaptığınız örnekte @ModelAttribute annotation’u kullanmadan çalıştırdığımda da sonuç normal bir şekilde çalışıyor.Bu annotation tam olarak neden kullanılıyor acaba?

    Cevapla

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Dersleri

Spring MVC Dersleri

Spring Dersleri

Spring MVC Dersleri RequestMapping Kullanımı

Spring Dersleri

Spring Mvc DispatcherServlet Nedir?

Spring Dersleri

Spring MVC Dersleri – Spring MVC Nedir?

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Röportaj
Struts
Android
Vue.js
Node.js
Redis
XCode
Spring Data
Debezium
Mikroservis Mimarisi
Spring Native
Video
Spring Security
Objective C
iPhone Uygulama Geliştirme
JPA
DevOps
PostgreSQL
Apache Kafka
Git
Design Patterns
Yaptığım Projeler
Servlet
Maven
Spring Cloud
Linux
Spring
JDBC
PrimeFaces
Spring Jdbc Template
RabbitMQ
Google
Manset
Spring MVC
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github