Domanda

Al momento sto facendo buon uso di di GWT ClientBundles nel mio app. Funziona bene, ma ho un gran numero di risorse e diventa noioso per creare manualmente interfacce Java per ogni file:

@ClientBundle.Source("world_war_ii.txt")
public ExternalTextResource worldWarII();

@ClientBundle.Source("spain.txt")
public ExternalTextResource spain();

@ClientBundle.Source("france.txt")
public ExternalTextResource france();

Mi piacerebbe essere in grado di (forse al momento della compilazione) elencare dinamicamente ogni file * .txt in una determinata directory, e quindi avere accesso run-time per loro, forse come un ExternalTextResource[] array, piuttosto che dover esplicitamente li elenco nel mio codice. Ci possono essere centinaia di tali risorse, e li enumerare manualmente come codice sarebbe molto doloroso e impossibile da mantenere.

La documentazione ClientBundle dice esplicitamente che "per fornire un'astrazione del file system" è un non-obiettivo, in modo purtroppo questo sembra non consentire quello che sto cercando di fare.

Qual è il modo migliore per affrontare un gran numero di risorse esterne che deve essere disponibile a tempo di esecuzione? Sarebbe un aiuto generatore?

È stato utile?

Soluzione 2

Ho finito dopo questo consiglio : eseguire le operazioni di file sul server, e quindi restituire un elenco di file di dati (meta) tramite una chiamata RPC.

Questa risulta essere abbastanza semplice, e mi permette anche di restituire i riferimenti leggeri (nomi di file) nell'elenco, che io uso per popolare un Tree lato client; quando l'utente fa clic su un TreeItem il contenuto del testo effettivo vengono scaricati.

Altri suggerimenti

C'è un generatore automatico per CssResource - forse si potrebbe un'occhiata a il suo codice e modificarlo per le vostre esigenze?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top