Bonjour à tous,
J'ai créé un formulaire de saisie et je souhaiterais effectuer la mise à jour de ma table. J'utilise GWT 2.7, Java et eclipse ainsi que le MVP. Dnas mon presenter, je fais appel à un service du serveur mais lorsque le programme l'appellen j'ai cette erreur " Cannot read property "updateSensorFamilyServ" of undefined.
En autres, il considère que mon service est indéfini.
Voici le code de mon presenter:
et voici le code de mon service:
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 @Presenter(view = SensorFamilyEditionView.class) public class SensorFamilyEditionPresenter extends BasePresenter<ISensorFamilyView, SensorFamilyEventBus> //extends BasePresenter<IsensorFamilyEditionView, MainEventBus> { public void updateSensorFamily(SensorFamilyDTO mockSensorFam) { service.updateSensorFamilyServ(mockSensorFam, new AsyncCallback<Void>() { @Override public void onSuccess(Void result) { eventBus.closeDialog(); } @Override public void onFailure(Throwable caught) { Toast.makeText("erreur d'enregistrement", Toast.Length.LONG) .show(); } });
La classe de mon service s'intitule SensorFamilyServiceImpl et implémente l'interface SensorFamilyService dont voici le code:
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 public class SensorFamilyServiceImpl extends RemoteServiceServlet implements SensorFamilyService { @Override public void updateSensorFamilyServ(SensorFamilyDTO sensorFam) { if(sensorFam.getId() <0 || SensorFamily.queryById(sensorFam.getId()) == null) { SensorFamily sensorFamily = new SensorFamily(); sensorFamily.fillFromDTO(sensorFam); sensorFamily.create(); } else { SensorFamily sensorFamily = SensorFamily.queryById(sensorFam.getId()); sensorFamily.fillFromDTO(sensorFam); sensorFamily.update(); } } }
et qui a permis la création de SensorFamilyServiceAsync.
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 @RemoteServiceRelativePath("sensorfamily.rpc") public interface SensorFamilyService extends RemoteService{ SensorFamilyDTO getSensorFamily(String name); void updateSensorFamilyServ(SensorFamilyDTO sensorFam); List<SensorFamilyDTO> getSensorFamilies(); SensorFamilyDTO getSensorFamilyFromSensor(SensorDTO sensor); List<String> getSensorFamiliesString(); }
Je ne sais pas ce que j'ai oublié pour que cela fonctionne. Monservice est bien défini dans web.xml:
Avez-vous une idée d'où cela pourrait-il venir? Qu'est-ce que j'ai oublié de faire pour que cela fonctionne?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <servlet> <servlet-name>capteursService</servlet-name> <servlet-class>com.assystem.amsta.server.SensorFamilyServiceImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>capteursService</servlet-name> <url-pattern>/amsta/sensorfamily.rpc</url-pattern> </servlet-mapping>
Merci encore pour votre aide.
Partager