显示导航

创建和测试365bet地区 TagLib并集成Trix WYSIWYG编辑器

365bet地区了解如何在自定义TagLib的帮助下将Tricamp由Basecamp创建的RTF编辑器与365bet地区应用程序集成

s塞尔吉奥·德尔阿莫

365bet地区版本 3.3.1

365bet地区培训

365bet地区培训由创建并积极维护365bet地区框架的人们开发和交付

入门

365bet地区在本指南中,您将借助TagLib将第三方WYSIWYG编辑器集成到365bet地区应用程序中

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入grails指南grails taglib wyswyg trix初始

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入grails指南grails taglib wyswyg trix完成

编写申请

域类

创建一个持久性实体进行存储公告365bet地区实体在365bet地区中处理持久性的最常见方法是使用365bet地区365bet地区域类:

365bet地区域类满足Model View Controller MVC模式中的M,并且表示映射到基础数据库表上的持久实体。在365bet地区中,域是位于grails应用程序域目录中的类。

grailsw创建域类公告创建grails应用程序域演示公告groovy创建src test groovy演示AnnouncementSpec groov
grails应用程序域演示公告groovy
演示 公告 {

    标题信息静态的约束标题maxSize: 255
    }

    静态的映射消息类型: '文本'
    }
}

脚手架

为您在上一节中创建的Domain类生成静态脚手架控制器和视图

grailsw生成所有公告创建grails应用程序域演示公告groovy创建src test groovy演示AnnouncementSpec groov
了解更多有关脚手架的信息365bet地区365bet地区文档.

下载Trix

Trix编辑器是由开发的开源富文本编辑器项目大本营.

在Web应用程序中撰写格式精美的文本Trix是用于编写消息注释文章的编辑器,并列出了大多数Web应用程序组成的简单文档。它具有复杂的文档模型支持嵌入式附件,并输出简洁一致的HTML

TRIX

365bet地区集成到365bet地区应用程序中

  • 下载最新稳定版本对于本指南,我们使用版本0.10.0

  • 复制Trix js资产javascripts trix js

  • 复制Trix CSS资产javascripts trix css

  • 参考js的CSS文件与资产管道插入

Asset Pipeline是一个插件,主要用于通过Gradle管理和处理JVM应用程序中的静态资产,但非强制性Asset Pipeline功能包括处理和最小化CSS和JavaScript文件

包括js资产管道文件

grails应用程序资产javascripts应用程序js
需要三层

包括的CSS资产管道文件

grails应用程序资产样式表应用程序css
需要三层

编写Taglib

365bet地区标记库在Model View Controller MVC模式中扮演视图助手的角色,并有助于GSP呈现。在365bet地区中,标记库是一个名称以约定TagLib结尾并位于grails应用程序taglib目录中的类。命令创建标签库_

./grailsw创建taglib Trix

TagLib将Trix与表格集成如他们的文档中所述

grails应用程序taglib演示TrixTagLib groovy
演示 TrixTagLib {
    静态的命名空间'TRIX' (1)
    静态的defaultEncodeAs标签库: '文本'] (2)

    定义编辑attrs正文定义id attrs id attrs命名"\"${ID}\"类型\"\"那么\"${属性名称}\""
        如果属性值"\"${属性值encodeAsHTML}\""  (2)' />'"\"${ID}\">"
    }
}
1 我们使用自定义名称空间; TRIX
2 默认情况下,我们编码为文本但该值(如果存在)被编码为HTML

然后我们测试标签库:

src测试groovy演示TrixTagLibSpec groovy
演示进口 免费测试web taglib TagLibUnitTest
进口 spock lang规格

有关用法说明,请参阅API,以了解WebgraovyPageUnitTestMixin中的链接grails测试混合
禁止警告(['线长', '方法名称'])
 TrixTagLibSpec 延伸规格实施TagLibUnitTest {

    虚空 '测试Trix编辑器标记已创建'() {
        什么时候:
        定义预期''''''
        定义输出applyTemplate'') (1)

        然后预期输出虚空 'trix编辑器的值和id参数是可选的'() {
        给定:
        定义预期''

        期望tagLib编辑器那么: '信息'预期(2)
    }
}
1 applyTemplate以参数形式获取在GSP中有效的任何东西该代码的评估就像在GSP中一样,返回的是评估该代码的结果
2 因为此测试带有注释TestFor TrixTagLib编译器将添加一个名为tagLib您可以与此互动tagLib属性并调用编辑标签,因为它是一种方法,您可以传递地图,该地图将传递给args或闭包作为最后一个方法参数,该参数将用作身体标签的

使用Taglib

在中使用Trix创建编辑GSP由静态脚手架生成全部产生命令

更换

<F全豆"公告"/>

grails应用视图公告创建gsp
<F全豆"公告"除了"信息"/>
="必填字段"> <标签 对于="信息"> <G讯息码"公告讯息" 默认="信息"/> ="必要指标">*</跨度 </标签 <TRIX编辑者姓名"信息""${公告讯息}"/> </div
grails应用程式观看次数公告,编辑gsp
<F全豆"公告"除了"信息"/>
="必填字段"> <标签 对于="信息"> <G讯息码"公告讯息" 默认="信息"/> ="必要指标">*</跨度 </标签 <TRIX编辑者姓名"信息""${公告讯息}"/> </div

运行应用程序

要运行该应用程序,请使用gradlew bootRun命令将在端口上启动应用程序

运行测试

grailsw grails测试应用程序grails打开测试报告

要么

gradlew检查打开构建报告测试索引html

您需要365bet地区帮助吗

OCI赞助了本指南的创建OCI提供了几种365bet地区服务:

免费咨询

OCI 365bet地区团队包括365bet地区联合创始人Jeff Scott Brown和Graeme Rocher检查我们的365bet地区课程并向发展和维护365bet地区的工程师学习

Grails OCI团队