1

私はice:inputRichTextで作業しています。選択したテキストを取得したいと思います-これはクライアント側に関連しています。つまり、サーバー側で操作してエディターに戻します(選択した場所と同じ場所に)。この JSF コンポーネントをどのように使用するかというベスト プラクティスを教えてください。

どうもありがとう。


ice:inputRichText がどのように機能するのか、まだわかりません。現時点では、CKEDITOR とサーバー間の通信に大きな問題があります。

onclickアクションとサーバーアクションを備えたcommandLinkを取得しました。onclick アクションは、選択されたテキストを CKEDITOR から取得し、隠しフィールドに配置します。その後、サーバー側で操作できます。初めて正常に動作します。しかし、アクションの後、inputRichText コンポーネントは更新され (またはそのようなもの)、アクションを繰り返すことはできません (onclick 部分のみが起動され、サーバー側も起動されません)。commandLInk タグの immediate 属性を true に設定すると機能しますが、アプリケーションの一部の機能が失われました。つまり、ice:inputRichText のコンテキストでいくつかの検証エラーがあります。アドバイスをお願いできますか?

ありがとうございました!

4

1 に答える 1

1

IceFaces は server のクライアント エディターからのデータの更新を処理します。サーバーで操作を実行し、値バインディングを xhtml に保持できます。IceFaces は、クライアント側のサーバーで行われた変更を表示します。

これは、icefaces リッチ テキスト エディターの使用方法の例です。

<ice:inputRichText id="inptTxtSelected" value="#{mybean.note}"
      rendered="#{!empty mybean.note}"
      height="295px" toolbar="editorToolbar" width="625px"
      customConfigPath="/templates/js/richTextEditorConfig.js" saveOnSubmit="true"/>

richTextEditorConfig.js を使用してエディターのボタンを構成できます。

CKEDITOR.editorConfig = function(config) {
        config.toolbarCanCollapse = false;
        config.resize_enabled = false;
    config.toolbar = 'editorToolbar';
    config.height ='180px';
    config.baseFloatZIndex = 20000; 
    config.resize_maxWidth = "100%";    
    config.uiColor = '#E4E8F7';
    config.skin='office2003';
    config.toolbar_editorToolbar = [
 ['Preview','-','Link','Unlink','-','Bold','Italic',
       'Underline','- ','NumberedList','BulletedList']        
];
};

あなたのBeanは、のような値を持つ必要があります

public class MyBean {

    private String note;
    //getter and setter to follow

    public void manipulateText(ActionEvent e){ 
        note = "set from server";
    }
}
于 2013-03-25T23:08:46.803 に答える