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"];
分享到:
相关推荐
grails-3.0.5-ga (2/2), for somebody who can not download
Grails In Action.pdf ebook
Grails in Action pdf
Grails Grails Grails Grails Grails
Grails in Action Grails in Action Grails in Action Grails in Action Groovy in Action Grails in Action Grails in Action Groovy in Action Groovy in Action
grails-3.0.5-ga (1/2), file1, for somebody who can not download
Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南
详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发
0,下载Grails( http://dist.codehaus.org/grails/grails-bin-0.4.2.zip ,请留意朝花夕拾——Groovy & Grails中的“最新版本”提示)并解压到自己指定位置(我的位置是D:\D\MY_DEV\grails) 1,设置环境变量GRAILS...
免费下载,鄙视那些高分下载的**. 学习grails 的好资料
grails-4.0.4.zip
Grails in Action - Presentation pdf
grails-2.1.zip.001
Grails1.1中文文档
grails+Xfire webservice
Grails In Action 2009最新版,英文的。很详细,学习groovy和grails的不二之选。
Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程
基于Grails的办公自动化系统的研究与实现.pdf