Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe zwar in den Beispielanwendungen Code gefunden, der beschreibt, wie man im DOM Link-Templates benutzt, um diese dann in den DOM einzuhängen, jedoch schweigt sich die API darüber aus, wie man denn spezielle Felder des Links setzt.
Ich habe mir also einen Link (de.espirit.firstspirit.access.link.Link) erzeugt, wie in https://community.e-spirit.com/message/4932#4932 beschrieben.
link.setText() erlaubt es einem, den Linktext zu setzen ...
Wie komme ich an die weiteren Felder des Links ran (z. B. link.getEditor.set("title", "myTitle"))?
Matthias
EDIT: Habe eine 'Lösung' gefunden, leider mit einem deprecated-call:
// 7. create a link by using the link template retrieved in step 4
final Link link = linkTemplate.createLink( language );
// 8. set the text to be displayed for link
link.setText( node.getTextContent() );
// do some voodoo to set the link target
final Data data = ( ( LinkImpl ) link ).getData();
final DataValue dv = data.createDataValue( "st_mailAdresse" );
final EditorValue<String> editor = ( EditorValue<String> ) dv.getEditor();
try {
editor.set( language, linkTarget );
} catch ( InvalidValueException e ) {
LOG.error( e, e );
}
// write back the dataObject TODO: this call is deprecated
link.setData( data );
// 9. append created link to the paragraph node
domNode.appendChild( link );
Hallo,
deine Lösung ist auch ohne "deprecated-call" Möglich. Siehe http://www.e-spirit.com/odfs42/access/examples/de/espirit/firstspirit/access/editor/LinkEditorValueE...
Sowohl 'getData' als auch 'setData' sind ab 4.2R4 deprecated, in der API-Doc ist das auch dokumentiert, jeweils inklusive Hinweis auf nicht-deprecated Methoden:
http://www.e-spirit.com/odfs42/access/de/espirit/firstspirit/access/link/Link.html
Falls du mit einer IDE arbeitest binde dir doch die API-Dokumentation doch ein, dann hast du diese Informationen immer zur Hand.
Übrigens ist der cast nach "LinkImpl" in deinem Code-Beispiel sowohl überflüssig als auch gefährlich. So können sich schnell Benutzungen von nicht-API Methoden einschleichen, die dann nach einem Upgrade nicht mehr vorhanden sein müssen oder, noch schlimmer, sich anders verhalten.
Hallo Jungs,
wie komme ich an die von euch gepostete Seite: http://www.e-spirit.com/odfs42/access/examples/de/espirit/firstspirit/access/editor/LinkEditorValueE... eigentlich ran?
Es wird eine Authentifizierung verlangt!
Dies könnte vllt eine Lösung für mein Problem sein.
Danke euch.