JOpenDocument Odt Füllen

mOiterei

Mitglied
Guten Abend,
ich probiere nun schon eine weile mit JOpenDocument herum, doch scheitere ich dabei, eine Vorlage zu füllen.
ich habe eine Seite gefunden, die die gegebenen Bsp. der Homepage nocheinmal verständich erklärt (https://translate.google.de/transla...12/09/jopendocument-odt-template/&prev=search)

das Dokument als vorlage habe ich erstellt doch funktioniert dies nicht wie gewollt.

1) im beispiel Code am Ende der Seite wird

Java:
months.add(createMap("January", "-12", "3"));

geschrieben. An dieser Stelle komme ich nmit "createMap" nicht klar. wie es verwendet wird, müsste die Methode ja in der selbigen Klasse stehen, dass wird aber in keinem Beispiel gezeigt.
Also habe ich die Methode durch:

Java:
moths.add(new String[] {"Jan",".12","3"});
ersetzt. meiner Meinung nach doch vom Prinzip ebenso funktuional, da das Programm scheinbar eine forEach schleife verwendet.

2) führe ich das ganze nun aus, wirft es mir immer eine Exception:
Code:
Exception in thread "main" org.jopendocument.dom.template.TemplateException: pb while executing ForEach forEach at <jod:forEach xmlns:jod="http://www.jopendocument.org" items="months" var="m"><table:table-row xmlns:table="urn:eek:asis:names:tc:eek:pendocument:xmlns:table:1.0"><table:table-cell table:style-name="Tabelle1.A2" xmlns:eek:ffice="urn:eek:asis:names:tc:eek:pendocument:xmlns:eek:ffice:1.0" office:value-type="string"><text:p xmlns:text="urn:eek:asis:names:tc:eek:pendocument:xmlns:text:1.0" text:style-name="Table_20_Contents"><text:text-input text:description="m.get(&quot;name&quot;)">March</text:text-input></text:p></table:table-cell><table:table-cell table:style-name="Tabelle1.A2" xmlns:eek:ffice="urn:eek:asis:names:tc:eek:pendocument:xmlns:eek:ffice:1.0" office:value-type="string"><text:p xmlns:text="urn:eek:asis:names:tc:eek:pendocument:xmlns:text:1.0" text:style-name="Table_20_Contents"><text:text-input text:description="m.get(&quot;min&quot;)">2</text:text-input></text:p></table:table-cell><table:table-cell table:style-name="Tabelle1.C2" xmlns:eek:ffice="urn:eek:asis:names:tc:eek:pendocument:xmlns:eek:ffice:1.0" office:value-type="string"><text:p xmlns:text="urn:eek:asis:names:tc:eek:pendocument:xmlns:text:1.0" text:style-name="Table_20_Contents"><text:text-input text:description="m.get(&quot;max&quot;)">20</text:text-input></text:p></table:table-cell></table:table-row></jod:forEach>
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.process(Unknown Source)
    at org.jopendocument.dom.template.engine.Parsed.execute(Unknown Source)
    at org.jopendocument.dom.template.Template.execute(Unknown Source)
    at org.jopendocument.dom.template.Template.createDocument(Unknown Source)
    at org.jopendocument.dom.template.EngineTemplate.createDocument(Unknown Source)
    at org.jopendocument.dom.template.EngineTemplate.saveAs(Unknown Source)
    at main.Start.<init>(Start.java:41)
    at main.Start.main(Start.java:50)
Caused by: org.jopendocument.dom.template.TemplateException: pb while replacing <text:span xmlns:text="urn:eek:asis:names:tc:eek:pendocument:xmlns:text:1.0" text:description="m.get(&quot;name&quot;)">March</text:span>
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.transform(Unknown Source)
    at org.jopendocument.dom.template.statements.ForEach.execute(Unknown Source)
    ... 13 more
Caused by: org.jopendocument.dom.template.TemplateException: invalid expression: "m.get("name")"
    at org.jopendocument.dom.template.engine.DataModel.eval(Unknown Source)
    at org.jopendocument.dom.template.engine.Processor.replaceField(Unknown Source)
    ... 18 more
Caused by: javax.script.ScriptException: TypeError: m.get is not a function in <eval> at line number 1
    at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470)
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:454)
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:406)
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402)
    at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
    at javax.script.AbstractScriptEngine.eval(Unknown Source)
    at org.jopendocument.dom.template.engine.ScriptEngineDataModel._eval(Unknown Source)
    ... 20 more
Caused by: <eval>:1 TypeError: m.get is not a function
    at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
    at jdk.nashorn.internal.runtime.Undefined.lookup(Undefined.java:102)
    at jdk.nashorn.internal.runtime.linker.NashornLinker.getGuardedInvocation(NashornLinker.java:106)
    at jdk.nashorn.internal.runtime.linker.NashornLinker.getGuardedInvocation(NashornLinker.java:98)
    at jdk.internal.dynalink.support.CompositeTypeBasedGuardingDynamicLinker.getGuardedInvocation(CompositeTypeBasedGuardingDynamicLinker.java:176)
    at jdk.internal.dynalink.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:124)
    at jdk.internal.dynalink.support.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:154)
    at jdk.internal.dynalink.DynamicLinker.relink(DynamicLinker.java:253)
    at jdk.nashorn.internal.scripts.Script$2$\^eval\_.:program(<eval>:1)
    at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637)
    at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)
    at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:449)
    ... 25 more


Meine Vermuutung ist ja, dass mir eine Datei fehlt, die zum Ausführen benötigt wird, finde dazu aber nichts im Internet.


Hat sich schonmal jemand mit diesem Thema beschäftigt oder sogar dieses Problem gelöst?

Vielen Dank schon mal im Vorraus
 

Robat

Top Contributor
Nein es ist nicht das selbe. Deine 3 Werte müssen in einer Map - also als Key-Value-Paare - gespeichert werden.
Die createMap Methode könnte ungefähr so aussehen:
Java:
private Map<String, String> createMap(String name, String min, String max) {
    Map<String, String> map = new HashMap<>();
    map.put("name", name);
    map.put("min", min);
    map.put("max", max);
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S setForumla jOpenDocument: Kleinschreibung Allgemeine Java-Themen 1
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
M Aus XML ein Word-Dokument(Template) füllen Allgemeine Java-Themen 8
S iText: zweite Seitenhälfte mit vorhandenen pdf füllen Allgemeine Java-Themen 2
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
M Zweidimensionales Array mit Binärzahlen füllen Allgemeine Java-Themen 8
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
B Arrays mit Text und Zahlen füllen Allgemeine Java-Themen 3
D TextBoxen füllen Allgemeine Java-Themen 1
S iText Cellen mit Attributen aus ArrayListen füllen Allgemeine Java-Themen 1
I quadratisches Array füllen Allgemeine Java-Themen 11
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
E Mehrdimensionales array füllen Allgemeine Java-Themen 16
pg1337 Liste füllen Allgemeine Java-Themen 2
Screen Webformular füllen. Allgemeine Java-Themen 3
Q int-Array mit Zufallszahlen füllen Allgemeine Java-Themen 3
G Array mit neuen Objekten der selben Klasse füllen Allgemeine Java-Themen 2
V PDF und Formularfelder füllen? Allgemeine Java-Themen 3
T Hashmap füllen mit rs sortierung Allgemeine Java-Themen 9
G byte[] mit Strings füllen Allgemeine Java-Themen 2
L ArrayList füllen Allgemeine Java-Themen 2
W n Vectoren mit Vectoren füllen Allgemeine Java-Themen 11
S Array "automatisch" füllen Allgemeine Java-Themen 5
S Ein 'Document' füllen. Allgemeine Java-Themen 2
W Array mit Variablen aus Vararg füllen Allgemeine Java-Themen 4
F Probleme bei Array füllen Allgemeine Java-Themen 2
G JComboBox mit Werten aus einer Access Datenbank füllen Allgemeine Java-Themen 18
M 2d Array füllen? Allgemeine Java-Themen 3
D Strings dynamisch füllen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben