Bonjour,

J'ai un formulaire basique :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<form:form action="account" method="post" class="form-horizontal" modelAttribute="sessionBean.person">
<!-- some form input elements like -->
<label class="col-sm-3 control-label">E-mail</label><div class="col-md-4"><form:input cssClass="form-control" path="email" maxlength="64" /></div>
<!-- submit button -->
</form:form>
Dont le controlleur est le suivant :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Controller
@SessionAttributes("sessionBean")
public class AccountController {
    @Autowired
    private SessionBean sessionBean;
 
    /** Display account page and process updates: password, personnal information, company, delivery and billing addresses
     * @return JSP name
     */
    @RequestMapping("/account")
    public String accountPage(/* request params */) {
        //checks not displayed
        Person p=sessionBean.getPerson();
        s.createQuery("UPDATE Person SET tittle=:t, firstname=:fn, lastname=:ln, phone=:p, fax=:f, email=:e  WHERE id=:id")
            .setParameter("t", p.getTitle())
            .setParameter("fn", p.getFirstname())
            .setParameter("ln", p.getLastname())
            .setParameter("p", p.getPhone())
            .setParameter("f", p.getFax())
            .setParameter("e", p.getEmail())
            .setParameter("id", p.getId())
            .executeUpdate();
    }
}
Les classes SessionBean et personnes sont définies ci-dessous :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class SessionBean implements Serializable {
    private static final long serialVersionUID = 9139554982970790165L;
    private final String id = UUID.randomUUID().toString();
    private Person person = null;
    private String redirect=null;
    private Order3d order3d=new Order3d();
    //getter and setters
}
 
@Entity
@Table (name="person")
public class Person implements Serializable {
    private static final long serialVersionUID = 3005461811554821039L;
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column (name="id")
    private int id;
    @Column (name="email")
    private String email;
    @Column (name="company")
    private String company;
    @Column (name="siret")
    private long siret;
    @Column (name="payment")
    private String payment;
    @Column (name="title")
    private String title;
    @Column (name="firstname")
    private String firstname;
    @Column (name="lastname")
    private String lastname;
    @Column (name="password", columnDefinition="char", length=64)
    private String password;
    @Column (name="phone")
    private String phone;
    @Column (name="fax")
    private String fax;
}

Dans mon formulaire je récupère sans problème les données à afficher stockées dans Person, mais, quand je veux exécuter mon UPDATE, les données soumises ne sont pas prises en compte.