HTML and CSS Reference
In-Depth Information
private String text = "";
public void setText( String text ) {
checkWidget();
if( text == null ) {
SWT.error( SWT.ERROR_NULL_ARGUMENT );
}
this.text = text;
evalOnReady("editor.instance.setData( \"" + escapeText
( text ) + "\" );" );
clientReady = false; // order is important
}
public String getText() {
checkWidget();
if( clientReady ) {
text = ( String )browser.evaluate
( "return editor.instance.getData();" );
}
return text;
}
Listing 3.6
Traffic gering halten
Im Gegensatz zu gewöhnlichen RAP Widgets muss bei browserbasierten Custom Widgets für
jede Interaktion zwischen Java- und JavaScript-Umgebung ein HTTP Request ausgeführt wer-
den. Um die Performance nicht unnötig zu beeinträchtigen, sollten viele kurz aufeinanderfolgen-
de Aufrufe der evaluate- Methode möglichst vermieden werden. Leider gibt es dafür keine allge-
meingültige Lösung, die nicht das API des Custom Widgets beeinträchtigen würde. Es kann ver-
sucht werden, in möglichst vielen Situationen evaluate- Aufrufe durch einen Script-Puffer zusam-
menzufassen. Als Rückgabewerte können auch Arrays verwendet werden. Das Gleiche gilt für
Browserfunktionen auf der JavaScript-Seite. Hier kann es helfen, diese indirekt und über einen
Timer ( window.setTimeout ) aufzurufen. So lange der Timer läuft, werden weitere Aufrufe igno-
riert oder starten den Timer neu. Um mehrere Informationen auf einen Schlag zum Server zu
übertragen (anstatt einzelne Aufrufe für jede Informationseinheit), können Browserfunktionen
mit beliebig vielen Argumenten aufgerufen werden.
Der hier vorgestellte Ansatz eignet sich nicht für alle denkbaren Custom Widgets. Ab einen gewissen
Grad an Flexibilität oder Komplexität ist ein RAP-natives Custom Widget die deutlich bessere Al-
Search WWH ::




Custom Search