1

私は jsf を初めて使用し、Web ページで TinyMCE をリッチ テキスト エディターとして使用したいと考えています。ここで TinyMCE が提供するインストール手順に従いました。

http://www.tinymce.com/wiki.php/%22For_Dummies%22

IDE として netbean を使用しています。-WAR プロジェクト フォルダーの直下にある "Web-Pages" フォルダーの下にある "resources" という名前のフォルダーの下に tiny_mce フォルダーを配置します。

これは newjsf.xhtml ページにあります

<h:head>     
    <title>test</title>
    <script src="/resources/tiny_mce/tiny_mce.js" type="text/javascript"></script>

    <script type="text/javascript">
        tinyMCE.init({
            // General options
            mode : "textareas",
            theme : "simple"          
        });
    </script>     

</h:head>
<h:body>
    <h:form id="window">          

        <h:inputTextarea id="field" value="#{test.text}"  />

    </h:form>
</h:body>

これがマネージドBeanです。

public class test {

private String text;

public test() {
}

/**
 * @return the text
 */
public String getText() {
    return text;
}

/**
 * @param text the text to set
 */
public void setText(String text) {
    System.out.println("setted me!!!!!!!!!" + text);
    this.text = text;
}

}

ブラウザー ページに表示されるのは、tinyMCE テキスト エディターではなく、単なるテキスト エリア "" です。JavaScript が自動的にプレーン テキストエリアを TinyMCE に置き換えるというのは本当ではないでしょうか? または、tiny_mce.js のパスを間違って指定して、プログラムが .js ファイルのソースを見つけられないようにしましたか? 奇妙なことに、newjsf.xhtml ページを開いたときに、glassfish サーバー ログにエラー/例外が出力されません。TinyMCE は、デモに表示されているものではなく、プレーンなテキストエリアです。

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


表示の問題を解決します。それは確かに、tiny_mce フォルダーを置いた場所が原因でした。パッケージ内のサンプル Web ページを模倣して、.js ファイルをサンプルとして相対的な構造を持つパスに配置すると、エディターが表示されます。私が遭遇した新しい問題は、inputTextarea コンテンツを managerbean に渡す方法です。コンテンツを送信するために、以下の 2 行があります。

h:inputTextarea value="#{test.text}" p:commandButton value="submit" actionListener="#{test.print}"

私のマネージャービーンの方法

public void print (){
    if (this.text == null) {
        System.out.println("why");
    } else {
        System.out.println(this.text + "i got it");
    }
}   
public String getText() {
    return text;
}
public void setText(String text) {
    System.out.println("setted me!!!!!!!!!" + text);
    this.text = text;
}

送信すると、サーバーの出力は次のようになります。

情報: 私を設定しました!!!!!!!!! 情報: 分かった

セッターへの呼び出しが発生しても、入力したすべてのコンテンツがキャプチャされません。誰かが私を助けることができますか?ありがとうございました。

4

1 に答える 1

0

わかった!onclick="tinyMCE.getContent()" を追加するだけで、コンテンツを managerbean に渡すことができます。より良い提案があれば、以下に投稿してください。

于 2012-10-16T16:10:53.883 に答える