我有一个JSF渲染器,它使用responsewriter生成一个jsf页面。 在这个类中,我创建了一个包含html代码的String,如下所示:
String s = "<b>hello</b> <i>world</i>" .
当我创建一个tinymce编辑器并使用这样的响应编写器设置它的值时:
responseWriter.writeText(value, null);
它显示完全相同的String(显示HTML标记)而不是HTML格式。
我知道使用writeText编写HTML是错误的,但我不知道该使用什么。
答案 0 :(得分:2)
尝试setContent。
responseWriter.setContent(s);
此处提供更多信息:http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.setContent
答案 1 :(得分:1)
最后我用这种方式解决了我的问题: 我将隐藏的值设置为:
responseWriter.startElement("input", null);
responseWriter.writeAttribute("type", "hidden", null);
responseWriter.writeAttribute("id", "tinymcevalue" , null);
responseWriter.writeAttribute("name", "required-" + filerRichTextEditor.getSchemaName(), null);
responseWriter.writeAttribute("value", getDocumentFieldValue(filerUIComponent.getSchemaName()), null);
responseWriter.endElement("input");
然后我在我的JSF中设置它:
tinyMCE.activeEditor.setContent(document.getElementById("tinymcevalue").value);