Bonjour,
J'ai un formulaire basique :
Dont le controlleur est le suivant :
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>
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 @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(); } }
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.
Partager