Domino 9 und frühere Versionen > ND9: Entwicklung
Lotus Script execute mit Java
HH:
Hallo zusammen!
In einem Word-Dokument sollen Platzhalter durch Werte aus einem Dokument ersetzt werden. Dazu habe ich für jeden Platzhalter ein Platzhalterdokument erstellt, das entweder direkt den Wert des Feldes ausließt, oder aber den Wert mit einer @Function (evaluate) oder mit Lotus Script (execute) berechnet. Das rendering erfolgt derzeit mit Lotus Script.
Nun soll das Ganze ins Web gebracht werden. Meine Frage:
Kann ich in meinem Platzhalterdokument eine Java Methode (mit Parametern) hinterlegen, die zur Laufzeit mit Java aufgerufen wird und ein Berechnungsergebnis zurückgibt?
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe. Meine Java-Kenntnisse sind recht begrenzt und ich bin für jeden Hinweis dankbar.
Gruß
Hubert
Sven Hasselbach:
Es gibt hierfür verschiedene Möglichkeiten, von daher wäre es erst einmal interessant zu wissen, wie ihr die Anwendungen ins Web bringt bzw. mit welchem Technologiestack?
Und natürlich die Frage, warum es denn Java sein muß. Wäre Javascript auch eine Option?
HH:
Bisher ist alles nur Planung. D.h. wir sind nach allen Seiten offen und Javascript wäre ggf. auch eine Option.
In einem Dialog im Browser würde ich die Parameter, die ich für meine Exporte benötige abfragen und dann über eine REST-Schnittstelle (<xe:restService>) an eine service Bean posten. Die holt sich dann die Platzhalterdefinitionen und das Office Template und bringt das dann mit den Daten zusammen. Ergebnis soll dann das gerenderte Word-Dokument als download sein.
Für Importe / Exporte nach Microsoft Office nutzen wir derzeit die Apache POI Klassen.
Sven Hasselbach:
Ah, XPages. Das ist gut. Dann kann man SSJS nutzen (und damit ja auch Java-Code).
Hier ein Beispiel einer einfachen anonymen Funktion, die den übergebenen String zurück liefert:
1. Die anonyme Funktion
--- Zitat ---function(param : string){
return param;
}
--- Ende Zitat ---
2. Die Funktion in einen String packen, und Klammern darum setzen:
--- Code: ---var code = "(function(param : string){ return param; })";
--- Ende Code ---
3. Jetzt den eval ausführen und das Ergebnis direkt erneut ausführen mit einem passenden Parameter
--- Code: ---eval(code)("bar")
--- Ende Code ---
HH:
Danke Sven, das habe ich soweit verstanden.
Allerdings fehlt mir der Ansatz, wo ich das dann hinterlegen muss und wie ich daraus meinen Java-Code aufrufen kann. Wie schon erwähnt, bin ich da nicht unbedingt der Spezialist. Also, ein weiterer Hinweis dazu wäre nett.
Gruß
Hubert
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln