我是 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>
这是托管豆。
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;
}
当我提交时,服务器输出是这样的。
信息:设置我!!!!!!!!!!信息:我知道了
即使触发了对 setter 的调用,我输入的所有内容也不会被捕获。有人可以帮助我吗?谢谢你。