2016-10-14 1 views
0

Ich möchte Jsp Seite eingebettet in meiner Vaadin Ansicht. Bitte lassen Sie mich wissen, welche Schritte zu folgen sind.Embeded JSP-Seite in meiner Vaadin Ansicht

Ich habe die folgenden Schritte:

  1. hinzugefügt meine jsp Seite in Vaadin Ansicht wie folgt.

    Embedded jsp = new Embedded(); 
    jsp.setType(Embedded.TYPE_BROWSER); 
    jsp.setWidth("200px"); 
    jsp.setHeight("200px"); 
    jsp.setSource(new ExternalResource ("out.jsp")); 
    

Aber ich weiß nicht, wie für diese jsp Zuordnung in web.xml aufzunehmen.

erklären mir bitte die Schritte wie, wo ich brauche jsp-Datei zu platzieren, wie Mapping Anfrage

Antwort

0

Erstens zu tun, ich frage mich, ob Sie Vaadin angemessen verwenden. Der Zweck von Vaadin ist es, die Benutzeroberfläche Ihrer Web-App vollständig durch Java zu erstellen. Im Allgemeinen sollten Sie keine Web-Ansichten oder Web-Inhalte einbetten müssen.

BrowserFrame Widget

Aber gelegentlich kann es Sinn machen, einige nicht-Vaadin Inhalt einzubetten. Siehe BrowserFrame Widget wie in The Book of Vaadin beschrieben. Verfügbar in Vaadin 7.0 und höher.

Portlet

Wenn Ihr Vaadin App nur ein kleiner Teil eines viel größeren Website Kontext ist, beachten Sie, dass Vaadin auch als Java Portlet funktionieren gebaut wird.

LifeRay ist eine Portlet-Umgebung used in conjunction with Vaadin für Portlet-driven apps.

+0

Danke für Ihre Suggetion @ Basil Bourque – Praveen

0

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.