J'ai eu quelques documentations, mais je ne suis pas encore capable de communiquer avec le datastore ... quelqu'un peut-il me donner un exemple de projet/code d'objectivation utilisé dans l'application web GWT (j'utilise eclipse) ... juste une simple action «mettre» et «obtenir» en utilisant RPC devrait faire ... ou, au moins, dites-moi comment c'est faitGWT-Objectify: basic
Répondre
La façon la plus facile de comprendre comment faire un travail d'objectif est de répéter toutes les étapes décrites dans this article du blog David's Chandler. Tout le blog est à lire absolument si vous êtes intéressé par GWT, GAE (Java), gwt-présentateur, gin \ guice, etc Vous y trouverez un exemple de travail, mais de toute façon ici, je vais montrer un exemple légèrement avancé.
Dans le paquet shared
définissent votre entité/modèle:
import javax.persistence.Embedded;
import javax.persistence.Id;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Unindexed;
@Entity
public class MyEntry implements IsSerializable {
// Objectify auto-generates Long IDs just like JDO/JPA
@Id private Long id;
@Unindexed private String text = "";
@Embedded private Time start;
// empty constructor for serialization
public MyEntry() {
}
public MyEntry (Time start, String text) {
super();
this.text = tText;
this.start = start;
}
/*constructors,getters,setters...*/
}
classe Time (également package shared
) contient seulement un msecs sur le terrain:
@Entity
public class Time implements IsSerializable, Comparable<Time> {
protected int msecs = -1;
//rest of code like in MyEntry
}
classe Copier ObjectifyDao
de lien ci-dessus à votre forfait server.dao
. Et puis faire la classe DAO spécifiquement pour MyEntry - MyEntryDAO:
package com.myapp.server.dao;
import java.util.logging.Logger;
import com.googlecode.objectify.ObjectifyService;
import com.myapp.shared.MyEntryDao;
public class MyEntryDao extends ObjectifyDao<MyEntry>
{
private static final Logger LOG = Logger.getLogger(MyEntryDao.class.getName());
static
{
ObjectifyService.register(MyEntry.class);
}
public MyEntryDao()
{
super(MyEntry.class);
}
}
Enfin, nous pouvons faire des demandes à la base de données (server
package):
public class FinallyDownloadingEntriesServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/plain");
//more code...
resp.setHeader("Content-Disposition", "attachment; filename=\""+"MyFileName"+".txt\";");
try {
MyEntryDao = new MyEntryDao();
/*query to get all MyEntries from datastore sorted by start Time*/
ArrayList<MyEntry> entries = (ArrayList<MyEntry>) dao.ofy().query(MyEntry.class).order("start.msecs").list();
PrintWriter out = resp.getWriter();
int i = 0;
for (MyEntry entry : entries) {
++i;
out.println(i);
out.println(entry.getStart() + entry.getText());
out.println();
}
} finally {
//catching exceptions
}
}
Merci beaucoup! Essayez-le et laissez-nous savoir bientôt ... – Maheshwar
- 1. Basic tâche
- 2. CodeIgniter Basic
- 3. Où puis-je trouver une référence rapide pour Basic Basic?
- 4. Basic que la question Basic-est sur Spring Security?
- 5. JavaScript Basic Slider
- 6. jQuery basic help
- 7. Basic json_decode avec PHP
- 8. Visual Basic LINQ
- 9. Maven Basic Question
- 10. Basic Django - Custom Managers
- 11. Apache basic authentication
- 12. Authentification HTTPS et BASIC
- 13. Basic Android Layout Question
- 14. U2 Basic Developer Toolkit
- 15. Basic "Raw" Ajax Appel
- 16. Basic Javascript Manipulation
- 17. Basic Php Question
- 18. Visual Basic: FTP Télécharger
- 19. Langue BASIC - novice
- 20. javascript checkbox basic
- 21. Visual Basic 2010 DataSet
- 22. Basic Javascript Question
- 23. OpenOffice BASIC IsNumber
- 24. Basic css question
- 25. phpMyAdmin basic HTTP autorisation
- 26. Basic T-SQL Question
- 27. SimpleCV basic getImage débogage
- 28. Authentification Ruby Basic
- 29. struct Basic question C
- 30. Basic MySQL Table Join?
GWT documentation Objectify est assez complet et devrait vous aider à démarrer rapidement . Votre problème est-il lié à l'objectivation ou à l'obtention du RPC GWT client-serveur de base? –
oui ... mais je reçois cette erreur myproject/servlet pas trouvé même après avoir fait tous les changements au xml, java et al – Maheshwar
Je suis assez nouveau à GWT et il y a quelque chose que j'ai toujours tendance à oublier/avoir du mal à trouver lors de l'ajout d'une nouvelle dépendance: la ligne d'héritage correcte pour gwt.xml. Pour Objectify: –
ptdev