适用fckeditor插件版本0.8->0.93
安装插件:grails install-plugin fckeditor
1. 配置插件:
在config.groovy中添加如下代码
fckeditor {
upload {
basedir = "/uploads/"
overwrite = false
link {
browser = true
upload = false
allowed = []
denied = ['html', 'htm', 'php', 'php2', 'php3', 'php4', 'php5',
'phtml', 'pwml', 'inc', 'asp', 'aspx', 'ascx', 'jsp',
'cfm', 'cfc', 'pl', 'bat', 'exe', 'com', 'dll', 'vbs', 'js', 'reg',
'cgi', 'htaccess', 'asis', 'sh', 'shtml', 'shtm', 'phtm']
}
image {
browser = true
upload = true
allowed = ['jpg', 'gif', 'jpeg', 'png']
denied = []
}
flash {
browser = false
upload = false
allowed = ['swf']
denied = []
}
media {
browser = false
upload = false
allowed = ['mpg', 'mpeg', 'avi', 'wmv', 'asf', 'mov']
denied = []
}
}
}
最后,会生成一个upload目录在工程的web-app的目录下,该目录用于放置上传的文件。该配置文件可根据实际情况自行配置。
2. 图片表情等弹出问题:是因为css冲突的缘故,修改main.css文件中.bady样式为
.body {
margin: 0 15px 10px 15px;
}
3. 将新闻内容字段设置成text类型后可上传很多图片以及文字,数据库以mysql为例
例如:
class CompanyNews
{
String title
String content
Date time
static constraints = {
title (blank:false)
content (blank:false,type:'text')
}
}
如果数据库中对应的表还是varchar可手动修改成text
4. fck标签的使用
例如:在create.gsp页面中
<td valign="top" class="value ${hasErrors(bean:companyNewsInstance,field:'content','errors')}">
<fckeditor:editor id='content' name='content' height="400" >${companyNewsInstance.content}</fckeditor:editor>
</td>
在show.gsp页面
<tr class="prop">
<td valign="top" class="name">内容:</td>
<td valign="top" class="value">${companyNewsInstance.content.decodeHTML()}</td>
</tr>
5. 获取新闻内容中的第一张图片
因为获取新闻内容是采用${companyNewsInstance.content.decodeHTML()}的方法,主要是decodeHTML()方法。
我采用的方式是自定义codec
import java.util.regex.Matcher
import java.util.regex.Pattern
/**
*
* @author Tony shen
*/
class CustomerCodec {
static decode = { theTarget ->
theTarget.decodeHTML()
def pattern= ~"/uploads/Image/[([a-z0-9]|.|/|\\-)]+.[(jpg)|(bmp)|(gif)|(png)]"
Matcher matcher = pattern.matcher(theTarget)
def out = new ArrayList()
while(matcher.find()){
out << matcher.group()
}
theTarget = out[0]
}
}
在前台页面中调用方式:
<image src="${companyNewsInstance.content.decodeCustomer()}"/>即可获取新闻内容中首张图片
6. 解决标题过长的办法
还是采用自定义Codec
/**
*
* @author Tony Shen
*/
class TitleCodec {
static decode = { theTarget ->
if (theTarget.length() >6 )
theTarget=theTarget.substring(0,6)+"..."
theTarget = theTarget
}
}
当标题字数超过6个字时,截取前六个字加上“…”
在前台页面中调用方式:
${companyNewsInstance.title.decodeTitle()}
分享到:
相关推荐
Grails使用FCK Editor(附源码,有截图),Groovy1.5.6和Grails1.1
Grails使用FCK Editor实例(附源码和文档),groovy1.6.0和grails1.1
漏洞修补好象是传asp等后缀名的时候,生成的是nba的后缀。上传原来很简单在后缀加个空格就可以了
Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...
在help菜单选择Install New Software…
eclipse插件、用来开发grails(路漫漫其修远兮、吾将上下而求索)
grails 中文文档+grails-fckeditor-0.9.5.zip插件
Grails 中文 参考手册
快速学会grails的中文文档,学会grails不再困难
grails中文参考手册 学习资料 groovy
grails 中文第二版
Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate 构成的易于使用的 Object Relational Mapping (ORM)层 称为 Groovy Server Pages (GSP) 的...
第1章 寻找grails之旅 1.1 java的困惑 1.2 webc2.0时代 1.3 java的力量 ... 11.4 在grails中使用spring控制器 11.5 在grails中使用acegi 11.6 使用xfire创建soap服务 11.7 本章小结
本文内容包括:ShortenUrl插件简介创建TinyUrl类测试TinyUrl类创建IsGd类创建ShortenUrl服务打包并部署插件结束语下载参考资料在这个“精通Grails”系列中,ScottDavis将向您展示如何创建您自己的Grails插件。...
Grails Grails Grails Grails Grails
grails 中文 API grails 中文 API
eclipse插件grails(groovy)配置方法
用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 Grails 依赖项 ...
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...