Je voudrais créer une application qui enregistre et récupère des enregistrements sur le serveur GAE. J'ai suivi le tutoriel "Déploiement sur Google App Engine" http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html pour commencer.GWT + GAE datastore Clé et texte Erreur Java
J'ai l'application StockWatcher qui fonctionne maintenant, mais dans mon application, j'ai besoin de stocker une chaîne qui peut être grande (> 10 Ko). J'ai lu que je ne peux pas utiliser un type Java String pour stocker de grandes chaînes et que j'ai besoin d'utiliser le type de données Text à la place.
Je pense que par Text, ils signifient: com.google.appengine.api.datastore.Text, mais ce serait bien de confirmer que c'est correct. ??? Quoi qu'il en soit, je n'arrive pas à faire fonctionner Text. Après quelques recherches, il apparaît que les types Key et Text ne peuvent être utilisés que dans le code du serveur et non dans le code client. Il semble que cela soit dû au fait que le code source n'est pas disponible pour ces classes et GWT a besoin de la source pour créer le code JavaScript sur l'ordinateur du client. Au moins que mon hypothèse de travail actuelle la raison pour laquelle je reçois les erreurs suivantes:
21:52:52.823 [ERROR] [myapp] Line 15: The import com.google.appengine.api.datastore cannot be resolved
21:52:52.951 [ERROR] [myapp] Line 103: Key cannot be resolved to a type
21:52:53.011 [ERROR] [myapp] Line 106: Text cannot be resolved to a type
J'utilise les champs suivants dans une classe dans un dossier partagé.
partagé/MyDataRecord
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key id;
@Persistent
private Text description;
classe MyDataRecord dans un dossier partagé parce que je voulais utiliser pour renvoyer tous les champs dans un retour de méthode get plutôt que plusieurs champ individuel obtenir des méthodes. Voici comment j'utilise la classe MyDataRecord dans mon serveur/DataServiceImpl.java classe
public class DataServiceImpl extends RemoteServiceServlet implements DataService
{
...
@Override
public MyDataRecord getDataRecord() throws NotLoggedInException
{
...
J'ai vu des solutions affichées suggèrent d'utiliser non standard, les bibliothèques 3ème partie, comme http://www.resmarksystems.com/code/. Je ne pouvais pas installer celui-ci, mais même si je le pouvais, je préférerais une solution différente. Stockage de texte doit être une tâche si commune que je préfère résoudre ce problème en utilisant ce qui est considéré comme une solution standard.
Je pourrais changer mon code pour retourner chaque champ dans plusieurs méthodes get au lieu d'un seul retour d'une instance MyDataRecord. Cependant, même si cela fonctionne, ce serait beaucoup plus de travail et plus difficile à maintenir avec le temps. Cependant, si c'est ce qui est normalement prévu, alors c'est ce que je ferai.
Je voudrais résoudre ce problème en utilisant les meilleures pratiques de GWT et de GAE. Un exemple simple ou un tutoriel irait un long chemin, mais je ne peux pas en trouver un. Existe-t-il des exemples de programmes/tutoriels qui montrent ce que GWT considère comme les meilleures pratiques pour stocker et récupérer des chaînes de caractères volumineuses? Je suis un débutant avec GWT et GAE (ainsi que le développement web), s'il vous plaît considérer cela dans les réponses, merci.
Non Snark S'il vous plaît
Un exemple serait la façon la plus simple d'y répondre. – Mitch