我试着像本教程中那样使用这个编辑器 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?
请问,好吗?
答案 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。