1.Domain转换为json简单,直接在BootStrap的init里面添加:
JSON.registerObjectMarshaller(Date) {
return it?.format("yyyy-MM-dd HH:mm:ss")
}
ps:还有一种方法是利用插件,重写Date的toString方法.
参见:http://stackoverflow.com/questions/690370/how-to-return-specific-date-format-as-json-in-grails
2.js段提交数据到controller,自动转换为DATE.
1)在src/groovy添加:
package utils
import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
/**
* 自定义的Date转换器,支持多种format
*/
class CustomDateBinder extends PropertyEditorSupport {
private final List<String> formats;
public CustomDateBinder(List formats) {
List<String> formatList = new ArrayList<String>(formats.size());
for (Object format : formats) {
formatList.add(format.toString()); // Force String values (eg. for GStrings)
}
this.formats = Collections.unmodifiableList(formatList);
}
@Override
public void setAsText(String s) throws IllegalArgumentException {
if (s != null)
for (String format : formats) {
// Need to create the SimpleDateFormat every time, since it's not thead-safe
SimpleDateFormat df = new SimpleDateFormat(format);
try {
setValue(df.parse(s));
return;
} catch (ParseException e) {
// Ignore
}
}
}
}
2)添加CustomPropertyEditorRegistrar:
package utils
import grails.util.GrailsConfig;
import java.text.SimpleDateFormat;
import org.springframework.beans.PropertyEditorRegistrar;
import org.springframework.beans.PropertyEditorRegistry;
/**
* 注册自定义的属性装配器
* @author TZ
*
*/
class CustomPropertyEditorRegistrar implements PropertyEditorRegistrar {
@Override
public void registerCustomEditors(PropertyEditorRegistry registry) {
def formats = GrailsConfig.get("grails.date.formats", List.class)?:["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd'T'HH:mm:ss","yyyy-MM-dd"];
registry.registerCustomEditor(Date.class, new CustomDateBinder(formats));
}
}
3)在conf/spring/resources.groovy中注册:
beans = {
bean {
//自定义属性绑定
customPropertyEditorRegistrar(utils.CustomPropertyEditorRegistrar)
}
}
4)conf/Config.groovy中添加配置:
grails.date.formats = ["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd'T'HH:mm:ss","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss.SSS ZZZZ", "dd.MM.yyyy HH:mm:ss"];
分享到:
相关推荐
14. **Grails Profiles**: 3.0.5引入了Profiles概念,为不同类型的项目(如web应用、命令行工具等)提供预设的配置和结构。 15. **热部署**: 开发过程中,Grails支持代码的热部署,修改后的代码无需重启服务器即可...
《Grails in Action》是一本专注于Grails框架的实战型图书,由Manning出版社于2009年出版,ISBN号为1933988932。Grails是一种基于Groovy语言的开源Web应用框架,它以其高效、灵活和强大的特性深受Java开发者喜爱。这...
1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定编写代码即可,减少了配置工作。 2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
- **自动配置**:Grails 自动处理很多配置细节,如数据源、日志管理等,减少了配置文件的数量和复杂度。 - **集成 Hibernate**:Grails 内置对 Hibernate 的支持,简化了数据库操作。 - **脚手架支持**:提供了一套...
grails-3.0.5-ga (1/2), file1, for somebody who can not download
Grails的环境配置通常包括设置GRAILS_HOME路径以及将其添加到系统的PATH变量中。 **2. 创建新项目** 使用Grails命令行工具创建一个新的Grails应用,例如`grails create-app loginDemo`。这将在指定目录下生成一个...
同样地,可以通过Eclipse的"Help" -> "Install New Software",添加Grails插件的更新站点(如:http://dist.springsource.org/snapshot/GRails/studio/eclipse/)并完成安装。 3. **配置Grails环境**:安装插件后,...
- 在Eclipse的classpath variable中设置`GRAILS_HOME`变量,指向Grails的安装目录,避免在创建或导入项目时手动添加库文件。 - 在`Windows -> Preferences -> Groovy`中,勾选"Disable Groovy Compiler Generating...
1. **Grails框架概述**:Grails是如何简化Java Web开发的,其核心特性包括自动化配置、丰富的插件系统和强大的构建工具Gant和Gradle。 2. **Groovy语言基础**:Groovy是Grails的编程语言,它是一种动态、类型安全的...
要更改 Grails 应用的默认首页,需编辑 `grails-app/conf/UrlMappings.groovy` 文件,将默认路由设置为相应的控制器,如: ```groovy class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ ...
9. **RESTful服务**:Grails鼓励使用RESTful风格来构建Web服务,通过简单的注解就能创建API,支持JSON和XML数据格式。 10. **测试支持**:Grails提供了丰富的测试框架,包括单元测试、集成测试和功能测试,帮助...
《Grails in Action 2009》是针对Groovy和Grails框架的一本详尽教程,适合希望深入了解这两种技术的开发者。Groovy是一种简洁、动态的Java平台上的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,它以简化...
描述中的"javascript and ajax using in grails"强调了JavaScript在Grails应用中的重要性。JavaScript是实现Ajax交互的主要语言,通常用于处理用户交互和动态更新页面。Grails提供了与jQuery等流行JavaScript库集成...
Grails支持多语言环境,通过`messages.properties` 文件实现国际化,可以根据用户浏览器设置自动选择对应的语言版本。 总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、...