【问题标题】:How to get TinyMCE displayed on a jsfpage?如何让 TinyMCE 显示在 jsfpage 上?
【发布时间】:2012-10-16 14:10:50
【问题描述】:

我是 jsf 的新手,我想在我的网页上使用 TinyMCE 作为富文本编辑器。我在这里按照 TinyMCE 给出的安装说明进行操作:

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

我使用 netbean 作为我的 IDE。我将 tiny_mce 文件夹放在名为“resources”的文件夹下,该文件夹位于 -WAR 项目文件夹下的“Web-Pages”文件夹下,

我的 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 文件夹的地方引起的。我尝试模仿包中的示例网页,并将 .js 文件放置到具有示例的相对结构的路径中,并显示编辑器。我遇到的新问题是如何将 inputTextarea 内容传递给 managerbean。我有下面两行来提交内容。

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

方法我的 managerbean

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;
}

当我提交时,服务器输出是这样的。

INFO:设置了我!!!!!!!!! 信息:我知道了

即使调用了 setter,我输入的所有内容都不会被捕获。有人可以帮助我吗?谢谢。

【问题讨论】:

  • 信息:tinymce 隐藏了 textarea 并在页面中插入了一个 contenteditable iframe

标签: javascript jsf tinymce rich-text-editor


【解决方案1】:

我明白了!只需添加 onclick="tinyMCE.getContent()" 内容就可以传递给 managerbean。如果您有更好的建议,请在下方留言。

【讨论】:

  • 您似乎已经在使用 PrimeFaces。为什么不直接使用它的&lt;p:editor&gt;
猜你喜欢
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多