2011-12-07 9 views
6

Sono nuovo di Vaadin e sono riuscito in qualche modo a far funzionare un'applicazione. Ora ho un file html help.htm contenente suggerimenti su come utilizzare l'app. Ho messo l'help.htm nella mia directory WEB del progetto per poterlo accedere in contesto Vaadin. Ho provato ad accedere in questo modo:Il file htm locale è incorporato nel vaadin

String str = "file:/" + "/" + application.getContext().getBaseDirectory() + "/help.htm"; 
URL url = new URL(str); 
Embedded browser = new Embedded("Help", new ExternalResource(url)); 
browser.setType(Embedded.TYPE_BROWSER);     
tabsheet.addComponent(browser); 

Ho provato il debug, copiato e passato il contenuto della variabile str nel mio browser posso accedere al file, e visualizzare il browser in modo corretto. Ho anche provato con FileResource & ClassResource. Anche quando sostituisco la stringa con http://www.somewebpage.com/ funziona, ma non con il codice precedente. Qualcuno può indicarmi la giusta direzione su come ottenerlo?

Thanx

risposta

6

Ci sono 5 diverse risorse che si possono scegliere in Vaadin a seconda delle circostanze: ExternalResource, ThemeResource, FileResource, ClassResource e StreamResource. Se si desidera che il file venga fornito in bundle con l'applicazione, è possibile:

  • utilizzare un ExternalResource (riferendosi alla risorsa come http: // host: port/etc/etc), o

  • utilizzare un ThemeResource (riferendosi alla risorsa attraverso il suo percorso relativo alla WebContent/Vaadin/themes/directory yourtheme, in cui normalmente si mettono le icone e gli stili)

mi piacerebbe andare con la seconda appr oach, perché ti libera dalla ricerca dell'URL del contesto.

Maggiori informazioni sulle risorse here e here.

+0

Ha funzionato !!! Grazie. Per i record ho solo messo il file Help.htm nella directory del tema e l'ho caricato come ThemeResource. – logiframe