Bonjour,

Je suis entrain de faire le tuto sur les modèle de "Jawher Moussa" et j'ai une petite erreur quand j'appuie sur le submit.

Voici le code du Login (pour le dao et la classe pojo c'est comme dans le tuto)

Code : 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
41
42
43
44
45
46
47
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package com.myapp.wicket;
 
import com.myapp.dao.IUserDao;
import com.myapp.dao.UserDao;
import com.myapp.pojo.User;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.LoadableDetachableModel;
 
/**
 *
 * @author stouf
 */
public class Login extends BasePage {
 
    private User user = new User();
 
    public Login() {
        super ();
        Form form = new Form( "loginForm", 
                new CompoundPropertyModel( new LoadableDetachableModel(){
            @Override
            protected Object load(){
                return new User();
            }
        } ) ) {
 
            @Override
            protected void onSubmit(){
                IUserDao userDao = new UserDao();
                userDao.insert( user );
            }
        };
 
        form.add( new TextField( "login" ) );
        form.add( new PasswordTextField( "password" ) );
        add(form);
    }
}
Voici l'erreur que j'ai eu

Code : 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
Error serializing object class com.myapp.wicket.Login [object=[Page class = com.myapp.wicket.Login, id = 2, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: com.myapp.pojo.User
Field hierarchy is:
  2 [class=com.myapp.wicket.Login, path=2]
    private com.myapp.pojo.User com.myapp.wicket.Login.user [class=com.myapp.pojo.User] <----- field that is not serializable
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:349)
        at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:618)
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:541)
        at org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:687)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
        at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:127)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
        at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1097)
        at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:199)
        at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:814)
        at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:327)
        at org.apache.wicket.Session.requestDetached(Session.java:1390)
        at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1113)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1385)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:498)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:444)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.io.NotSerializableException: com.myapp.pojo.User
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:119)
        ... 39 more
Merci d'avance pour votre aide

Stouf()