我在使用带有grails的“tiny-mce”时遇到问题(textarea未正确显示)。 我正在使用Eclipse Indigo并安装了带有“grails install-plugin tiny-mce”的tiny-mce插件。 我写的代码是:
<!doctype html>
<html>
<head><title>TinyMCE Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<tinyMce:resources />
<tinyMce:importJs/>
</head>
<body>
<tinyMce:renderEditor type="advanced"/>
</body>
</html>
问题是显示的textarea没有tiny-mce功能,即可以用来格式化文本的所有好的属性/按钮。 textarea只是一个简单的HTML文本区域。 看起来检查生成的源代码(即右键单击&gt;视图源)可能存在一些问题:
<!doctype html>
<html>
<head><title>TinyMCE Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="/MyGrailsProject/static/plugins/tiny-mce- 3.4.9/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="/MyGrailsProject/static/plugins/tiny-mce-3.4.9/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script><script type="text/javascript">tinyMCE.init({
mode : "textareas",
theme : "simple",
editor_selector : "mcesimple",
theme_advanced_toolbar_location : "null"
});tinyMCE.init({
mode : "textareas",
theme : "advanced",
editor_selector : "mceadvanced",
theme_advanced_toolbar_location : "top"
});</script>
</head>
<body>
<textarea class='null mceadvanced'></textarea>
</body></html>
看起来textarea类的值为null。它是否正确?有谁知道为什么我的textarea没有正确渲染?问题是否与找不到文件“tiny_mce.js”有关?如果是这种情况,我该如何解决这个问题?
祝你好运 粘土
答案 0 :(得分:2)
好的,所以我通过以下方式实现了这个目标:
<g:javascript src="tiny_mce/tiny_mce.js"/>
这将获取web-apps / js文件夹下的文件夹grails.resources.adhoc.excludes = ['/js/tiny_mce/**/*.*']
现在回到gsp,添加tiny_mce.init()行ex
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "fullpage",
theme_advanced_buttons3_add : "fullpage"
});
内的<g:javascript>
标记内容
<g:javascript> tinyMCE.init({ theme : "advanced", mode : "textareas", plugins : "fullpage", theme_advanced_buttons3_add : "fullpage" }); </g:javascript>
现在按照惯例<g:textArea name="..."/>
${fieldValue(bean:...)}
之类的内容中默认转义为html,因此你的美丽小mce标记将被转义${object.field}
和前例:${person.firstName}
,然后就可以了。答案 1 :(得分:1)
让它工作的更简单的方法 - 在html head中包含tinymce js
<head>
<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
tinymce.init({selector:'textarea'});
</script>
</head>
在GSP中有一个textarea元素('message'是一个字段名为'content'的命令对象)
<textarea rows="10" name="content" >${fieldValue(bean:message,field:'content')}</textarea>
这是在Grails 2.2中测试的,而不是CDN //tinymce.cachefly.net,tinymce js文件可以放在web-app / js目录中并以更简单的方式包含在GSP中
答案 2 :(得分:0)
需要找到“tiny_mce.js”才能使编辑器正常工作! 确保在这里使用正确的路径。
答案 3 :(得分:0)
您可以使用富UI插件进行富文本编辑。
它非常简单和漂亮。
只需安装ricuui插件和
在头部添加资源。
像这样。这成为头部
这进入身体------并享受......
答案 4 :(得分:0)
TinyMCE Grails Plugin 不是必要的,目前已过期3个月。您可以转到TinyMCE's site并在那里下载最新版本。
提取其ZIP文件并将文件夹tinymce\jscripts\tiny_mce
复制到web-app
文件夹下的Grails项目中。 (请注意不将其复制到web-app\js
,因为它由Resources插件管理,您需要在ApplicationResources.groovy
内公开所有必需的静态资源。 )
然后在你的.GSP中,你会在页面的<head>
部分看到类似内容:
<g:javascript src="../tiny_mce/tiny_mce.js"/>
<r:script>
tinyMCE.init({
mode: "textareas",
theme: "advanced"
});
</r:script>
答案 5 :(得分:0)
如果你在BuildConfig.groovy中使用运行时“:resources:1.1.6”而不是用它来更新它 runtime':资源:1.2'。 这对我来说很好。