`
fengzhizi715
  • 浏览: 161642 次
  • 性别: Icon_minigender_1
  • 来自: 上海 苏州
社区版块
存档分类
最新评论

grails中使用FCK插件的小结

阅读更多
适用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-0.3.zip_grails_grails-fck-editor

    标题中的"grails-fck-editor-0.3.zip_grails_grails-fck-editor"表明这是一个与Grails框架相关的插件,具体来说是FCKeditor的一个版本。FCKeditor是一款广泛使用的开源富文本编辑器,它允许用户在网页上创建和编辑...

    Grails使用FCK Editor(附源码,有截图)

    本文将详细介绍如何在Grails应用中使用FCK Editor,同时附带源码和操作截图,以帮助开发者快速理解和实现这一功能。 ### 1. 安装与引入FCK Editor 首先,我们需要下载FCK Editor的源码包,并将其解压到Grails项目...

    Grails安装SVN客户端插件指导手册

    为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本指南将详细介绍如何在Grails环境中安装Subclipse插件。 首先,启动你的Eclipse集成开发环境(IDE),这是Grails通常...

    Grails使用FCK Editor实例(附源码和文档)

    FCK Editor是一款广泛使用的开源富文本编辑器,而Grails则是一个基于Groovy语言的现代Java平台上的Web应用框架。本文将深入探讨如何在Grails应用中集成FCK Editor,并提供源码和文档供参考。 **1. Grails框架介绍**...

    eclipse开发grails插件

    对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...

    grails-pjax:Grails Pjax插件云可帮助您在Grails中使用pjax

    Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    3. 扩展性:FCKEditor插件可以与其他Grails插件(如文件上传插件)配合使用,提供更强大的功能,如图片管理和多媒体资源管理。 4. 版本兼容:虽然grails-fckeditor-0.9.5是较旧的版本,但理解其工作原理有助于我们...

    grails中文使用手册

    4. **Grails插件**:Grails生态系统中的插件极大地扩展了框架的功能,如Spring Security用于安全控制,GSP(Grails Server Pages)用于视图渲染,以及CouchDB或MongoDB插件实现NoSQL数据库的支持。 5. **...

    Grails中文参考手册

    Views 是 Grails 应用程序中的用户界面部分,通常使用 Groovy Server Pages (GSP) 文件编写。GSP 结合了 HTML、CSS 和 JavaScript 以及 Groovy 语法,允许动态生成页面内容。 **Services** Services 是可重用的...

    grails中文参考手册

    Grails支持多种集成开发环境(IDE),如IntelliJ IDEA和Eclipse,通过特定的插件可以方便地在这些IDE中进行开发,提供代码提示、自动完成等功能,提升开发效率。 4. **规约配置** Grails遵循一套默认的规约,比如...

    eclipse插件grails(groovy)

    在Grails中,你可以在控制器的行动(Actions)中使用闭包来处理请求逻辑。此外,Groovy的动态特性允许你在运行时添加或修改类的行为,这在快速迭代开发中非常有用。 Grails框架提供了丰富的插件系统,可以快速扩展...

    grails中文入门简介

    它还包含了Groovy Server Pages(GSP),这是一种基于Groovy的模板引擎,它允许开发者在页面中使用Groovy脚本。GSP标签库丰富,涵盖了数据绑定、表单处理、页面布局等多个方面。Grails的URL映射系统使得可以灵活地将...

    grails使用freemarker.rar

    标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...

    Grails1.1中文文档

    9. **插件系统**:Grails的插件系统极大地扩展了其功能,文档会讲解如何安装、使用及开发插件。 10. **测试**:文档会覆盖单元测试、集成测试和功能性测试,包括`grails test-app`命令的用法和测试框架的特性。 11...

    Eclipse下搭建Grails项目

    注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。

    grails中文API

    Grails中文API的出现,为国内开发者提供了更友好的文档支持,使得理解与使用Grails框架变得更加方便。本文将深入解析Grails中文API中的关键概念和技术点。 1. **Grails框架概述** Grails是基于Spring框架构建的,...

    Grails权威指南

    第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 本章小结

    Grails Grails Grails

    3. **插件系统**:Grails 插件是一组可重用的功能模块,可以快速增强应用程序的功能,如Spring Security、Asset Pipeline等。 4. **命令行工具**:Grails 提供强大的命令行工具,支持创建项目、运行应用、生成代码...

    Grails 和 jQuery开发实例

    在本文中,我们将深入探讨如何使用Groovy on Grails(简称Grails)和jQuery来构建一个功能丰富的Web日历应用程序。Grails是一个基于Java平台的全栈式框架,它简化了Web应用的开发过程,而jQuery则是一款强大的...

Global site tag (gtag.js) - Google Analytics