View Full Version : da java a javascript
Sabretooth
13-12-2010, 10:02
Ciao ragazzi, premetto che sono totalmente inesperto con javascript...
sto utilizzando delle librerie di google per la mia pagina web. Guardando le API che mi fornisce il famoso motore di ricerca posso estrapolare i risultati delle mie query con dei metodi java.
Ecco il punto, io devo utilizzare questi metodi però con javascript, più precisamente mi servirebbe convertire questo codice java nello script (se è possibile):
control.addSearchResultsHandler(new SearchResultsHandler() {
//metodo di SearchResultsHandler
public void onSearchResults(SearchResultsEvent event){
//creo un array di oggetti Results che estende Result. Restituisce l'elenco degli oggetti Result
//selezionati dall'utente.
JsArray<? extends Result> results = event.getResults();
//per ogni indice dell'array..
for (int i = 0; i < results.length(); i++) {
//se l'i-esimo risultato equivale a un risulato di WebSearch
if (results.get(i).getResultClass().equals(ResultClass.WEB_SEARCH_RESULT)) {
//ad ogni risultato che soddisfa la query incremento il contatore
//(dopo che l'intero blocco viene seguito)
currentRow++;
//associo l'oggetto result i-esimo ad un oggetto result di tipo WebResult
WebResult result = (WebResult) results.get(i);
//imposto il testo all'interno di una cella specificata, (riga currentrow, colonna 0)il testo
// " " + currentRow (mi darà l'elenco puntato)
resultsTable.setText(currentRow, 0, "" + currentRow+" "+result.getUrl());
//imposto il contenuto HTML della cella specificata, riga currentrow, colonna 1 e l'html:
// inserisco l'url del risultato della ricerca Web + il titolo del risultato
resultsTable.setHTML(currentRow, 1, "<a href=\"" + result.getUrl()
+ "\">" + result.getTitle() + "</a>");
}
}
}
});
Qualcuno sa darmi una mano? Perchè di queste API di Google in javascript non ne trovo in rete. Però i metodi usati sono pressochè gli stessi (alcuni già testati).
Grazie
Ciao ragazzi, premetto che sono totalmente inesperto con javascript...
sto utilizzando delle librerie di google per la mia pagina web. Guardando le API che mi fornisce il famoso motore di ricerca posso estrapolare i risultati delle mie query con dei metodi java.
Ecco il punto, io devo utilizzare questi metodi però con javascript, più precisamente mi servirebbe convertire questo codice java nello script (se è possibile):
control.addSearchResultsHandler(new SearchResultsHandler() {
//metodo di SearchResultsHandler
public void onSearchResults(SearchResultsEvent event){
//creo un array di oggetti Results che estende Result. Restituisce l'elenco degli oggetti Result
//selezionati dall'utente.
JsArray<? extends Result> results = event.getResults();
//per ogni indice dell'array..
for (int i = 0; i < results.length(); i++) {
//se l'i-esimo risultato equivale a un risulato di WebSearch
if (results.get(i).getResultClass().equals(ResultClass.WEB_SEARCH_RESULT)) {
//ad ogni risultato che soddisfa la query incremento il contatore
//(dopo che l'intero blocco viene seguito)
currentRow++;
//associo l'oggetto result i-esimo ad un oggetto result di tipo WebResult
WebResult result = (WebResult) results.get(i);
//imposto il testo all'interno di una cella specificata, (riga currentrow, colonna 0)il testo
// " " + currentRow (mi darà l'elenco puntato)
resultsTable.setText(currentRow, 0, "" + currentRow+" "+result.getUrl());
//imposto il contenuto HTML della cella specificata, riga currentrow, colonna 1 e l'html:
// inserisco l'url del risultato della ricerca Web + il titolo del risultato
resultsTable.setHTML(currentRow, 1, "<a href=\"" + result.getUrl()
+ "\">" + result.getTitle() + "</a>");
}
}
}
});
Qualcuno sa darmi una mano? Perchè di queste API di Google in javascript non ne trovo in rete. Però i metodi usati sono pressochè gli stessi (alcuni già testati).
Grazie
Per quanto ne so, ma leggo interessato eventuali smentite, se per API intendi quelle JAVA di GWT puoi usare solo oggetti del'API stessa per generare javascript e non oggetti tuoi ed in seguito puoi ottenere il javascript compilando le classi GWT con apposito compilatore proprietario.
Il codice prodotto é praticamente inutilizzabile e non ci sono le corrispondenti librerie javascript, come per esempio le Google Maps API, per tutte le librerie Java di GWT.
ti conviene utilizzare direttamente la libreria javascript
Sabretooth
13-12-2010, 20:06
Per quanto ne so, ma leggo interessato eventuali smentite, se per API intendi quelle JAVA di GWT puoi usare solo oggetti del'API stessa per generare javascript e non oggetti tuoi ed in seguito puoi ottenere il javascript compilando le classi GWT con apposito compilatore proprietario.
Il codice prodotto é praticamente inutilizzabile e non ci sono le corrispondenti librerie javascript, come per esempio le Google Maps API, per tutte le librerie Java di GWT.
Si certo, utilizzo oggetti di classi definite dall'api di GWT, più precisamente quelle di Google AJAX Search, però sono solo per java, e a me mi servirebbero per javascript...
qualcuno sa darmi una mano?? o per lo meno sa consigliarmi un buon ambiente di sviluppo, o un plugin per eclipse che mi permette di aiutarmi, magari con l'autocompletamento dei metodi?? Grazie a tutti in anticipo
Si certo, utilizzo oggetti di classi definite dall'api di GWT, più precisamente quelle di Google AJAX Search, però sono solo per java, e a me mi servirebbero per javascript...
qualcuno sa darmi una mano?? o per lo meno sa consigliarmi un buon ambiente di sviluppo, o un plugin per eclipse che mi permette di aiutarmi, magari con l'autocompletamento dei metodi?? Grazie a tutti in anticipo
La questione è che per quanto ne so (e un po ne so... ma non si sa mai ;) ) GWT è l'unico framework Java che compili classi Java in javascript con tutte le limitazioni con cui ti stai scontrando tu e aggiungo, non meno importante, che non è SEO compatibile... ma forse nel tuo caso questo non è importante.
Se vuoi usare GWT devi adattare tu il tuo codice a GWT perche lui al tuo non si adattera ;)
Sabretooth
13-12-2010, 22:00
La questione è che per quanto ne so (e un po ne so... ma non si sa mai ;) ) GWT è l'unico framework Java che compili classi Java in javascript con tutte le limitazioni con cui ti stai scontrando tu e aggiungo, non meno importante, che non è SEO compatibile... ma forse nel tuo caso questo non è importante.
Se vuoi usare GWT devi adattare tu il tuo codice a GWT perche lui al tuo non si adattera ;)
Quindi consigli di continuare a creare una Web application?
Precisamente sto usando queste:
http://code.google.com/p/gwt-google-apis/wiki/AJAXSearchGettingStarted
In soldoni, a me interessa estrapolare dai risultati delle query (sono dei json) alcune informazioni, come titolo, url o snippet per poterli poi inserire in un documento XML...
Quindi consigli di continuare a creare una Web application?
Precisamente sto usando queste:
http://code.google.com/p/gwt-google-apis/wiki/AJAXSearchGettingStarted
In soldoni, a me interessa estrapolare dai risultati delle query (sono dei json) alcune informazioni, come titolo, url o snippet per poterli poi inserire in un documento XML...
forse non ho capito esattamente cosa vuoi fare... pero se hai una stringa JSON puoi usare una libreria anche tipo Google-Gson o altre per deserializzare JSON in oggetti JAVA o in XML direttamente.
Ma dal codice che hai scritto mi pare pero che tu voglia pubblicare in html il risultato, se cosi meglio oggetti che poi usi per generare l'html come hai scritto tu dove "result" è il tuo oggetto con i suoi attributi... te li scorri come vuoi e metti tutto in uno StringBuffer tipo append("<a href='"+oggetto.href+"' ...)
e spari fuori il tutto.
Sabretooth
14-12-2010, 08:41
forse non ho capito esattamente cosa vuoi fare... pero se hai una stringa JSON puoi usare una libreria anche tipo Google-Gson o altre per deserializzare JSON in oggetti JAVA o in XML direttamente.
Ma dal codice che hai scritto mi pare pero che tu voglia pubblicare in html il risultato, se cosi meglio oggetti che poi usi per generare l'html come hai scritto tu dove "result" è il tuo oggetto con i suoi attributi... te li scorri come vuoi e metti tutto in uno StringBuffer tipo append("<a href='"+oggetto.href+"' ...)
e spari fuori il tutto.
no, il pezzo finale del codice l'ho scritto come prova di quello che restituitiva il metodo.
Mi sa che continuo ad utilizzare il Java, perchè imparare il js mi ci vuole troppo tempo.
Quello che voglio fare è praticamente inserire il contenuto del get dell'oggetto results i-esimo (dal codice mio sopra) e metterlo all'interno di un elemento XML.
Pensavo di utilizzare la libreria jaxp...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.