Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: hebbe am 25.07.08 - 11:45:26
-
Hallo Forum!
Folgendes Problem: Ich habe in LotusScript einen Agenten geschrieben. Dieser wird vom Web aus aufgerufen. In diesem LS-Agenten verwende ich eine Java-Klasse, die ich in einer Java-Bibliothek habe.
Nun bilde ich eine Instanz dieser Klasse im LS-Agenten und rufe Methoden der Java-Klasse aus der Bibliotke auf. Soweit so gut, auch noch kein Problem.
Jetzt würde ich aber gerne in einer Methode der Java-Klasse Output an den Browser "printen". Wenn ich System.out.println("Ich bin Text der im Browser erscheinen soll"); verwende, so printet er leider auf die Serverkonsole des Domino.
Habe schon etwas gegoogled, aber nichts gefunden. Es gibt nur Beispiele für WebAgents, die komplett in Java geschrieben wurden. Die machen das da dann über einen PrintWriter, den sie über eine session und AgentBase usw. bekommen, aber das klappt in meiner Java-Klasse nicht.
Weiß jemand Rat? Wäre echt super, bin nämlich schon am verzweifeln :) Vielen vielen Dank schon mal an alle Helfer im Voraus!
-
Du lässt die über LS2J angesprochene (?) Java Methode einen String als Rückgabewert an den LotusScript-Agenten zurückliefern.
Problem ist nur, dass bei LS2J viele Memory Leaks gemeldet wurden. Deshalb würde ich eher tendieren den Agenten einfach in Java zu schreiben. So viel kann das nicht sein und die APIs sind sowieso sehr ähnlich.
-
Was man auch machen kann ist einen Java Agenten via Lotus Script aufrufen, der Agent läuft und danach geht es mit Lotus Script weiter. Dem Java fehlen leider die UI-Klassen :(
bubble
-
Oh ich sehe gerade das ist ja WEB,
vielleicht kann man das Logging in Form von Dokumenten "simulieren"?
-
danke erstmal für eure antworten.
den agenten komplett in java geht nicht, dafür werden zu viele ls-bibliotheken etc eingebunden, die dann ebenfalls umgeschrieben werden müssten.
und einen string als rückgabewert geht auch nicht. es muss schon die methode aus der java-klasse selbst printen.
keine idee? kann doch nicht so schwer sein. in einer ls-bibliothek/klasse könnte man doch auch ganz einfach per print im web printen...
-
und einen string als rückgabewert geht auch nicht. es muss schon die methode aus der java-klasse selbst printen.
Wenn du willst, poste einfach die Methode. Das lässt sich sicher so programmieren, dass statt zu printen ein String zurückgeliefert wird.
Ansonsten gibts nämlich keine praktische Möglichkeit, das zu realisieren. Diese letztlich Stream Objekte, die in den Webservern die Ausgaben erzeugen sind nicht einfach Strings, die man konkenatieren kann. Da hängt ein bischen mehr dran. Und im Java Code besitzt du keinen Zugriff auf das was z.B. per print statements den an den Browser retunierenden Stream zugreifen könnte.
Ich würd gar nicht erst auf die Idee kommen.
-
Was ist deine Aufgabe?
Vielleicht geht das ja auch mit AJAX und JSON!