The rich:editor is input component acting as WYSIWYG editor.

Using attribute value, you can point editor's value into your model. For output of editor's value (HTML), you can use un-escaped output with <h:outputText escape="false" value="..." /> as in sample bellow.

Editor also throws semantical DOM events, similarly to standard input: change, init, focus, blur, dirty. You can react on these events both, with client-side behaviors or by programmatically with event handler attributes (oninit, etc.).

You can combine Editor's features to achieve more complex scenarios, in powerful declarative manner.

For example, you can simply achieve auto-saving feature with dirty DOM event and request delay configured using a4j:attachQueue behavior, . Check out the sample bellow: you can change the value and either leave the editor (blur) or wait 1000 ms to trigger ajax update of output panel bellow.