Spring MVC - Gizli Alan Örneği

Aşağıdaki örnek, Spring Web MVC çerçevesini kullanan formlarda bir Gizli Alanın nasıl kullanılacağını açıklar. Başlangıç ​​olarak, çalışan bir Eclipse IDE'ye sahip olalım ve Spring Web Framework kullanarak Dinamik Form tabanlı bir Web Uygulaması geliştirmek için aşağıdaki adımları göz önünde bulunduralım.

Adım Açıklama
1 Spring MVC - Hello World bölümünde açıklandığı gibi com.tutorialspoint paketinin altında HelloWeb adıyla bir proje oluşturun.
2 Com.tutorialspoint paketi altında Student, StudentController Java sınıfları oluşturun.
3 Jsp alt klasörü altında öğrenci.jsp, sonuç.jsp görünüm dosyalarını oluşturun.
4 Son adım, kaynak ve yapılandırma dosyalarının içeriğini oluşturmak ve uygulamayı aşağıda açıklandığı gibi dışa aktarmaktır.

Student.java

package com.tutorialspoint;

public class Student {
   private Integer age;
   private String name;
   private Integer id;

   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;
   }

   public void setId(Integer id) {
      this.id = id;
   }
   public Integer getId() {
      return id;
   }
}

StudentController.java

package com.tutorialspoint;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;

@Controller
public class StudentController {

   @RequestMapping(value = "/student", method = RequestMethod.GET)
   public ModelAndView student() {
      return new ModelAndView("student", "command", new Student());
   }
   
   @RequestMapping(value = "/addStudent", method = RequestMethod.POST)
   public String addStudent(@ModelAttribute("SpringWeb")Student student, 
      ModelMap model) {
      model.addAttribute("name", student.getName());
      model.addAttribute("age", student.getAge());
      model.addAttribute("id", student.getId());
      
      return "result";
   }
}

Burada ilk servis yöntemi için student(), bir boşluk geçtik StudentobjectJSP dosyanızda <form: form> etiketleri kullanıyorsanız, yay çerçevesi "command" adında bir nesne beklediğinden "command" adıyla ModelAndView nesnesinde. Yani, ne zamanstudent() yöntem çağrılırsa, student.jsp görünüm.

İkinci hizmet yöntemi addStudent() bir POST yöntemine karşı çağrılacak HelloWeb/addStudentURL. Model nesnenizi gönderilen bilgilere göre hazırlayacaksınız. Son olarak, servis yönteminden bir "sonuç" görünümü döndürülür ve sonuç olarak sonuç oluşturulur.jsp

öğrenci.jsp

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Spring MVC Form Handling</title>
   </head>
   <body>

      <h2>Student Information</h2>
      <form:form method = "POST" action = "/HelloWeb/addStudent">
         <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>< </td>
              <td><form:hidden path = "id" value = "1" /></td>
            </tr>
            <tr>
              <td colspan = "2">
                  <input type = "submit" value = "Submit"/>
              </td>
            </tr>
         </table>  
      </form:form>
   </body>
</html>

Burada kullanıyoruz <form:hidden /> HTML gizli alanı oluşturmak için etiket.

Örneğin -

<form:hidden path = "id" value = "1"/>

Aşağıdaki HTML içeriğini oluşturacaktır.

<input id = "id" name = "id" type = "hidden" value = "1"/>

sonuç.jsp

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Spring MVC Form Handling</title>
   </head>
   <body>

      <h2>Submitted Student Information</h2>
      <table>
         <tr>
            <td>Name</td>
            <td>${name}</td>
         </tr>
         <tr>
            <td>Age</td>
            <td>${age}</td>
         </tr>
         <tr>
            <td>ID</td>
            <td>${id}</td>
         </tr>
      </table>  
   </body>
</html>

Kaynak ve yapılandırma dosyalarını oluşturmayı tamamladığınızda, uygulamanızı dışa aktarın. Uygulamanıza sağ tıklayın ve kullanınExport → WAR File seç ve kaydet HelloWeb.war Tomcat'in webapps klasöründeki dosya.

Şimdi Tomcat sunucunuzu başlatın ve diğer web sayfalarına standart bir tarayıcı kullanarak webapps klasöründen erişebildiğinizden emin olun. Bir URL deneyin -http://localhost:8080/HelloWeb/student Spring Web Uygulaması ile her şey yolundaysa aşağıdaki ekranı göreceğiz.

Gerekli bilgileri gönderdikten sonra, formu göndermek için gönder düğmesine tıklayın. Spring Web Uygulamanızda her şey yolunda giderse aşağıdaki ekranı göreceğiz.