Die Antwort von Basil könnte gültig sein, wenn Ihre JSP-Seite in einem separaten Servlet liegt, egal ob außerhalb Ihrer eigenen Kontrolle (sagen wir eine öffentliche Webseite) oder nicht (Sie können es als separates Servlet auf Ihrem eigenen Server installieren) . In beiden Fällen würde es keinen Unterschied machen, ob es sich um eine JSP-Seite, eine PHP-Datei oder was auch immer handelte - in jedem Fall wäre alles, was Sie in beiden Fällen bekommen würden, einfach interpretierbares HTML. Das heißt, der BrowserFrame
Ansatz könnte der richtige sein, da es das Vaadin-Äquivalent zum "guten alten" HTML iframe
ist.
Wenn Sie eine JSP-Seite oder eine vollständige JSP-Anwendung einbetten möchten, können Sie dies tun, indem Sie mit Servlet Mapping und webapp
Ordner spielen. Der einzige Nachteil ist, dass Ihre Vaadin-App von einem neuen "Pfad" aus zugänglich sein muss. Nehmen wir an, Sie haben über http://yourdomain.com/yourVaadinApp
zugegriffen - jetzt müssen Sie einen/app -oder ähnlichen Pfad definieren Ihre App ist abrufbar unter http://yourdomain.com/yourVaadinApp/app
. Und Sie es in Ihrer @WebServlet
Anmerkung in Ihrer Haupt-UI-App-Klasse definieren müssen (es kann über web.xml
auch durchgeführt werden):
@WebServlet(value = {"/app/*", "/VAADIN/*"}, asyncSupported = true)
Als Nächstes können Sie Ihre JSP setzen (oder eine Sammlung von JSP-Dateien) innerhalb yourAppProjectFolder/src/main/webapp
Mappe. Auf diese Weise ist Ihre JSP beim Deployment Ihrer App von (oder einfach Basispfad, wenn Ihre Datei das Standarddokument ist - abhängig von Ihrem Server oder Ihrer Konfiguration, etwa index.jsp
-, das wäre http://yourdomain.com/yourVaadinApp/
) oder a Ordner Ihrer Wahl.
Leider weiß ich bis jetzt nicht, wie ich den Inhalt des Webapp-Ordners "ausschließen" kann, ohne den Basispfad der Vaadin-Anwendung einem "Unterpfad" zuzuordnen.
Danke für Ihre Suggetion @ Basil Bourque – Praveen