一、在Config.groovy中增加(你要转的时间格式)
grails.date.formats = ["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","yyyy-MM-dd'T'HH:mm:ss","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss.SSS ZZZZ", "dd.MM.yyyy HH:mm:ss","yyyy-MM"]
二、增加日期转换类,放在Groovy源包中(CustomPropertyEditorRegistrar,CustomDateBinder)
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));
}
}
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
}
}
}
}
三、将注册的日期类写到spring/resource配置文件中
// Place your Spring DSL code here
beans = {
bean {
//自定义属性绑定
customPropertyEditorRegistrar(utils.CustomPropertyEditorRegistrar)
}
}
分享到:
相关推荐
通过本篇文章,我们深入了解了 Grails 的基本概念和操作流程,包括如何创建应用、定义 Domain 类、创建 Controller 以及进行简单的单元测试等。这些基础知识对于初学者来说至关重要,能够帮助他们快速上手 Grails ...
Grails是一个基于Java平台的全栈式框架,它简化了Web应用的开发过程,而jQuery则是一款强大的JavaScript库,能够帮助我们实现高效的DOM操作、事件处理以及Ajax交互。 首先,Grails的MVC架构使得开发者可以快速搭建...
其中,脚手架(Scaffolding)是Grails提供的一种快速开发工具,它能够自动生成基本的CRUD操作,极大地提高了开发效率。然而,尽管脚手架在很多场景下能快速满足需求,但在实际项目中,我们往往需要对其进行二次优化...
- Grails提供了一种快速生成基本CRUD操作的方法,称为“脚手架”。 - 可以快速搭建起一个基础的应用界面。 **5. URL映射** - 自定义URL模式,使URL更具可读性。 - 例如,将`/user/list`映射到`UserController....
总结来说,这个教程展示了如何在 Grails 中通过创建新的视图和控制器方法来实现一个高级查询功能,包括处理日期范围、下拉列表选择、文本输入等多种查询条件。同时,还涉及到了领域模型的扩展和数据的查询操作。通过...
3. **创建新的视图**:创建 `grails-app/views/planning/inspect.gsp` 页面,用于用户输入检验日期。这里使用了 `<g:form>` 标签创建表单,包含隐藏字段来存储ID和版本信息,以及一个文本输入框用于日期输入。表单还...
例如,Grails的领域模型(Domain Model)支持动态方法,使得开发者可以通过简单的语法进行CRUD操作,如`save()`, `delete()`, `update()`等,而无需编写SQL语句。此外,GORM(Grails Object-Relational Mapping)还...
每个Domain Class都对应于数据库的一个表,并通过GORM(Grails Object Relational Mapping)提供对数据库的访问和操作能力。 #### Domain Class示例:Book、Author和Publisher 1. **Book类**:Book类实现了`...
- **实现确认信息**: 对重要的操作(如删除)添加确认提示。 - **移除数据ID**: 改善UI设计,隐藏不必要的技术细节。 - **格式化数据**: 例如日期格式化,提高数据显示的专业性。 #### 五、动态查询与定制 - **...
- 通过`Calendar`或`LocalDateTime`类进行日期加减操作。 4. **两日期差值** - 计算两个日期之间的天数、小时数等差异。 5. **星期几、月份、年份** - 判断某天是一周中的哪一天、一年中的第几天等。 6. **...
14. **Grails**:如果文档较全面,可能会涉及Groovy的Web开发框架Grails的基础知识。 这个CHM文件“gdoc.chm”可能包含了所有这些内容的详细解释,帮助开发者快速掌握Groovy语言,解决实际编程中的问题。对于那些在...
点击员工条目,JavaScript可以加载更多详细信息,如员工的姓名、职位、入职日期等,这些信息由Grails后端提供。 六、实现细节 1. 数据库设计:Grails使用GORM(Grails Object Relational Mapping)与数据库交互,...
4. **Groovy库**:SDK包含了完整的Groovy标准库,这些库提供了许多内置函数和类,覆盖了I/O、网络、XML处理、日期时间等多方面功能,极大地丰富了Groovy的生态系统。 5. **Ant任务**:对于使用Apache Ant构建系统的...
在"memmanager"项目中,Grails可能被用来处理后端逻辑,如用户认证、数据库操作和业务规则管理。 **jQuery库** jQuery是一个轻量级的JavaScript库,旨在简化HTML文档遍历、事件处理、动画制作和Ajax交互。在...
3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...
绿灯 开源同意书管理工具 ...通过注释同意书,操作员将输入同意书的所有详细信息,例如NHS编号,MRN,同意书日期,同意书名称,每个同意书问题的答案……。此过程可通过使用多个快速输入按钮来简化。例如,对
除了支持Spring框架之外,STS还支持Groovy、Grails、Thymeleaf等技术栈。 #### 1.2 STS的主要特性 - **Spring Framework集成**:内置对Spring框架的支持,包括Spring配置文件编辑、调试等功能。 - **代码编辑器**:...
这个版本的发布日期可能相对较早,但它仍然是学习和理解JRuby与Java集成的一个重要里程碑。 JRuby的主要特点包括: 1. **兼容性**:JRuby完全兼容Ruby 1.8.7,这意味着你可以使用大部分标准库和第三方Gem(Ruby的...
println new Date().today() // 输出当前日期 ``` 6. **Groovy Shell和 Grape** Groovy Shell允许我们直接在命令行中运行Groovy代码,方便测试和学习。Grape是Groovy的依赖管理工具,类似Java的Maven或Gradle,...
- 使用Groovy构建Web服务,可以利用Grails或Spring Boot等框架,它们提供了构建RESTful服务的便利工具。 - Groovy的`HttpBuilder`库可以帮助简化HTTP请求的创建,方便实现服务端接口。 4. **连接数据**: - 在...