Hinzufügen einer weiteren Registerkarte zur Geoportal-Benutzeroberfläche
Mit den nachstehend beschriebenen Schritten können Sie eine weitere Registerkarte zur Geoportal-Benutzeroberfläche hinzufügen. In diesen Schritten fügen wir eine (Beispiel-)Registerkarte mit der Bezeichnung Links hinzu, die eine Webseite hosten könnte und sich in ein Content-Management-System integrieren lässt. Die gleichen Schritte können zum Hinzufügen anderer Registerkarten entsprechend den Spezifikationen von Geoportal ausgeführt werden.
Hinweis:
In diesem Abschnitt wird vorausgesetzt, dass Sie die Tiles-Struktur der JSP-Seite der Geoportal-Webanwendung, wie sie in Layout und Tiles der Geoportal-Webanwendung beschrieben wird, verstehen.
- Erstellen des Ordners und der JSP-Seiten, zu denen Ihre neue Registerkarte navigiert
- Zunächst erstellen Sie den Ordner, der die Funktionen der neuen Registerkarte enthält. Navigieren Sie zum Verzeichnis \\geoportal\catalog, und erstellen Sie einen neuen Ordner in diesem Katalogverzeichnis. In diesem Beispiel nennen wir unseren neuen Ordner quicklink.
- Nun erstellen Sie die übergeordnete JSP-Seite, die die body.jsp-Seite der neuen Registerkarte enthalten wird. Erstellen Sie eine neue Textdatei, und geben Sie ihr einen Namen. Speichern Sie sie mit der Dateierweiterung .jsp. In unserem Beispiel erstellen wir quicklink.jsp.
- Geben Sie den folgenden Code in die neue, leere .jsp-Datei ein, und ersetzen Sie quicklink im Code mit dem neuen Ordnernamen. Beachten Sie, dass der Wert-Parameter tiles: put name auf die body.jsp-Seite verweisen wird, die wir als nächstes erstellen:
<% // quicklink.jsp - Link pages (tiles definition) %> <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <%@taglib uri="http://www.esri.com/tags-gpt" prefix="gpt" %> <% // initialize the page %> <gpt:page id="catalog.quicklink.home"/> <tiles:insert definition=".gptLayout" flush="false" > <tiles:put name="body" value="/catalog/quicklink/quicklinkBody.jsp"/> </tiles:insert>
- Sie erstellen jetzt die Textseite, die den tatsächlichen Inhalt der neuen Registerkarte enthält. Erstellen Sie eine leere .jsp-Datei in Ihrem neuen Ordner, und geben Sie der Datei den gleichen Namen wie der .jsp-Datei, die Sie soeben erstellt haben, und hängen Sie Body an den Dateinamen an. In unserem Beispiel lautet der Name dann quicklinkBody.jsp. Geben Sie den folgenden Code in die neue Datei ein. Im Beispiel unten wird auf Webinhalt verwiesen, der im Attribut iframe id src angegeben wird. Es wird ein IFrame mit JavaScript verwendet, um eine importierte Seite in die entsprechende Größe des Browserfensters zu rendern. In unserem Beispiel ist die importierte Seite http://www.esri.com.
<% // quicklinkBody.jsp - Links page (JSF body) %> <iframe id="frame" src="http://www.esri.com" style="overflow-y:auto;overflow-x:hidden" width="100%" frameborder="0" marginheight="0" marginwidth="0" height="100%" > </iframe> <script type="text/javascript"> function resizeIframe() { var height = document.documentElement.clientHeight; height += document.getElementById('frame').offsetTop; height -= 20; /* whatever you set your body bottom margin/padding to be */ document.getElementById('frame').style.height = height +"px";}; document.getElementById('frame').onload = resizeIframe; window.onresize = resizeIframe; </script>
- Erstellen der neuen Registerkarte mit Verweis
- Navigieren Sie zum Ordner \\geoportal\catalog\skins\tiles, und öffnen Sie die Datei primaryNavigation.jsp in einem Texteditor.
- Geben Sie den folgenden Code unten in der Datei über </h:form> ein, und bearbeiten Sie den eingegebenen Code so, dass er den Namen, die Sie den JSP-Seiten und dem Ordner gegeben haben, entspricht. Beachten Sie, dass die ID quicklinkHome eine eindeutige ID ist, die Sie dieser Registerkarte zuweisen. Die Aktion catalog.quicklink.home legt diesen Link so fest, dass er den zuvor erstellten Ordner \\geoportal\catalog\quicklink öffnet. Das Werteattribut ist die Bean, die auf den Namen, der dem Benutzer in der neuen Registerkarte angezeigt wird, verweist, und zwar wie in der Datei gpt.properties, die wir später aktualisieren, festgelegt. Die styleClass ist ein Verweis auf den Style der Registerkarte. Ändern Sie [catalog.quicklink] im styleClass-Attribut, um auf den gleichen Ordner zu verweisen, auf den Sie in Ihrem Aktionsattributverwiesen haben. Verwenden Sie das Beispiel unten als Leitfaden.
<h:commandLink id="quicklinkHome" action="catalog.quicklink.home" value="#{gptMsg['catalog.quicklink.home.menuCaption']}" styleClass="#{PageContext.tabStyleMap['catalog.quicklink']}"/>
- Sie müssen die neue Seite, die von Ihrer Registerkarte in der Datei gpt-faces-config.xml geöffnet wird, definieren. Navigieren Sie zum Ordner \\geoportal\WEB-INF, und öffnen Sie gpt-faces-config.xml in einem Texteditor. Geben Sie den folgenden Code genau unter der Navigationsregel für <!-- Extract pages --> ein. Bearbeiten Sie den Parameter from-outcome so, dass er auf das Aktionsattribut aus dem vorherigen Schritt verweist. Der Parameter to-view-id verweist auf die erste von Ihnen erstellte JSP-Seite:
<!-- link page --> <navigation-rule> <navigation-case> <from-outcome>catalog.quicklink.home</from-outcome> <to-view-id>/catalog/quicklink/quicklink.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule>
- Aktualisieren der gpt.properties-Datei
- Navigieren Sie zum Ordner \\geoportal\WEB-INF\classes\gpt\resources, und öffnen Sie die Datei gpt.properties in einem Texteditor.
- Aktualisieren Sie die Datei durch Eingabe des neuen Schlüsselwertes, auf den Sie in primaryNavigation.jsp verwiesen haben. Der in der Bean angegebene Begriff wird als Text auf der neuen Registerkarte angezeigt. Der Titeleintrag unter dem menuCaption-Eintrag wird oben auf der Seite angezeigt, nachdem Sie auf Ihre neue Registerkarte geklickt haben und zu der Seite navigiert sind. Das Beispiel unten zeigt die beiden neuen Einträge für eine Registerkarte mit dem Namen Links und den Begrüßungstext, der direkt unter der Registerkarte angezeigt wird, wenn ein Benutzer darauf klickt.
# quicklink page ################### catalog.quicklink.home.menuCaption = Links catalog.quicklink.home.caption = Welcome to the Link Page
- Speichern Sie die geänderte Datei, und starten Sie die Geoportal-Webanwendung neu. Ihre neue Registerkarte sollte auf der Startseite angezeigt werden.