tinymce编辑。按钮没有显示

时间:2012-06-11 08:53:35

标签: javascript jsf-2 tinymce

我试着像本教程中那样使用这个编辑器 http://kpachar.blogspot.de/2010/06/tinymce-as-jsf-2-composite-component.html 不幸的是,它对我不起作用。我可以看到textarea,但是没有要编辑的标尺。

我在同一个项目中将编辑器放在不同的地方,但是在一个地方工作,而在另一个地方没有。

我尝试了不同的浏览器,到处都是同样的问题。 Firebug显示我正在调用的脚本被包含在内并且警报证明它。

我称之为

脚本:

<composite:implementation>
    <h:outputScript name="tiny_mce/tiny_mce.js" target="head"/>
    <h:outputScript name="editors/tinymce_init.js" />
    <h:inputTextarea id="textarea" value="#{cc.attrs.value}" rows="5" cols="80"
        styleClass="tinymce" />
</composite:implementation>

但脚本tiny_mce.js调用的脚本无法加载。

Failed to load: http://localhost:8080/SOCIATO_Testcommunity/javax.faces.resource/tiny_mce/langs/en.js

Failed to load: http://localhost:8080/SOCIATO_Testcommunity/javax.faces.resource/tiny_mce/themes/simple/editor_template.js

两个文件都在“resources”文件夹中,但服务器尝试在“javax.faces.resource”中找到它们。其他文件(例如,由outputScript调用)会自动查找此文件。如何告诉服务器在哪里找到tiny_mce调用的这个scipts?

请问,好吗?

1 个答案:

答案 0 :(得分:0)

相对于原始脚本的位置,它们已得到解决,其网址需要与FacesServlet的网址格式相匹配,因此需要额外的.jsf.xhtml后缀。您基本上需要编辑TinyMCE JS源代码来修复从那些依赖项加载的URL。通过<script>代替<h:outputScript>来包含它们可能更容易。

<script src="#{request.contextPath}/resources/tiny_mce/tiny_mce.js" />
<script src="#{request.contextPath}/resources/editors/tinymce_init.js" />

或者只是采用已经为您解决此问题的组件库,例如PrimeFaces或RichFaces。