m_ziesing
I'm new here

Cross-Domain JavaScript

Hallo zusammen,

was ist denn eurer Erfahrung nach der eleganteste Weg um in FS einen

"Proxy" für domainübergreifende JavaScript-Aufrufe zu realisieren?

Viele Grüße

Marco

0 Kudos
4 Replies
feddersen
Community Manager

FirstSpirit hat mit dem Proxy eigentlich nur am Rande etwas zu tun. Ein Servlet schreiben, das als Proxy fungiert. Das können Sie in ein FirstSpirit-Modul (Webanwendung) packen, damit sie das Servlet auch einfach in der Vorschau/Staging verwenden können. Hinweise zur Entwicklung von FirstSpirit-Modulen finden sie in der Entwickler-Dokumentation. Hier in der Community gibt es auch schon mehrere Blogbeiträge zur Erstellung von Webanwendungen.

0 Kudos

Für einfache Fälle könnte auch ein JSP/PHP Skript ausreichen.

0 Kudos

Kann FS in einer Seitenvorlage enthaltenes Java interpretieren?

Oder wie/wo könnte ich diesen Schnippsel unterbringen?

<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%
    public static String scrape(String url) {
        try {
            URL u = new URL(url);
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    u.openStream()));

            String inputLine;
            StringBuffer b = new StringBuffer();
            while ((inputLine = in.readLine()) != null) {
                b.append(inputLine);
            }

            in.close();
            return b.toString();
        } catch (IOException ioe) {
            return "Could not scrape URL: " + ioe;
        }
    }
%>

<%= scrape(request.getParameter("url"))%>

0 Kudos

Wenn die Dateiendung der Vorlage auf JSP lautet, wird der JSP Code vom internen Jetty interpretiert. Sie sollten nur sicherstellen, das ihr Zielsystem ebenfals JSP Seiten interpretieren kann.

Wenn Sie nur für das Preview einen JSP Proxy benötigen, können Sie ja eine spezielle Seitenvorlage anlegen, die dann nur im Preview benutzt wird und von der Generierung ausgeschlossen wird.

0 Kudos