Exemple avec Struts 2 ModelDriven

Exemple Struts 2 ModelDriven

Téléchargez-le -Struts2-ModelDriven-Example.zip

Si une action implémente l'interface «ModelDriven», elle gagne la capacité supplémentaire detransfer the form data into the object automatically. Voir un exemple complet ci-dessous:

1. Objet de domaine

Un objet client, avec des méthodes setter et getter.

Customer.java

package com.example.common;

public class Customer{

    String name;
    int age;

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

}

2. action

Classe d'action, implémente l'interfaceModelDriven, a déclaré la méthodegetModel() pour renvoyer l'objet du client. Lorsque les données du formulaire sont soumises à cette action, il transfère automatiquement les données du formulaire dans les propriétés du client.

L'objet client doit être initialisé manuellement.

CustomerAction.java

package com.example.common.action;

import com.example.common.Customer;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class CustomerAction extends ActionSupport
    implements ModelDriven{

    //have to initialize it
    Customer customer = new Customer();

    public String execute() throws Exception {

        return SUCCESS;

    }

    public Object getModel() {

        return customer;

    }
}

3. Page JSP

Pages JSP pour la démonstration deModelDriven.

addCustomer.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>





Struts 2 ModelDriven example

Add Customer

success.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>





Struts 2 ModelDriven example

Customer Details

Name :
Age :

4. struts.xml

Liez le tout ~





    

    

        
            pages/addCustomer.jsp
        

        
            pages/success.jsp
        

    

5. Demo

Accédez au formulaire client,fill in the form (name : “example”, age ” “123456”) et cliquez sur le bouton Soumettre, lesform data (name & age) will be transferred into the customer’s properties (name & age) (correspondance par nom de propriété) automatiquement.

Struts2 model driven example

Struts 2 model driven example