grails的datePicker标签很好,但是并不能设置成yyyy-MM-dd的格式,另外,在月份选择列表中,显示的是中文的:一月、二月等等,对于追求简捷的中国人来说,这不符合我们的习惯。怎么办?
在grails英文指南页面中,显示了它的源代码位置在:/grails/src/groovy/org/codehaus/groovy/grails/plugins/web/taglib/FormTagLib.groovy
因此,在www.grails.org把源代码下载下来,按照路径找到这个FormTagLib.groovy文件,把里面关于datePicker的一节复制下来,在自己所做项目的taglib目录下建立一个tag文件MyTagLig.Groovy,把代码拷贝进去,稍作修改。
1、把年、月、日的代码按顺序替换一下;
2、在月份的实现部分替换掉。
package com.mycompany
import java.text.DateFormatSymbols
import java.text.DateFormat
import org.springframework.web.servlet.support.RequestContextUtils as RCU
class MyTagLib {
static namespace = "my"
def datePicker = { attrs ->
def out = out // let x = x ?
def xdefault = attrs['default']
if (xdefault == null) {
xdefault = new Date()
}
...........................................
...........................................
out.println "<input type=\"hidden\" name=\"${name}\" value=\"date.struct\" />"
// create year select
if (precision >= PRECISION_RANKINGS["year"]) {
out.println "<select name=\"${name}_year\" id=\"${id}_year\">"
if (noSelection) {
renderNoSelectionOptionImpl(out, noSelection.key, noSelection.value, '')
out.println()
}
for (i in years) {
out.println "<option value=\"${i}\"${i == year ? ' selected="selected"' : ''}>${i}</option>"
}
out.println '</select>'
}
// create month select
if (precision >= PRECISION_RANKINGS["month"]) {
out.println "<select name=\"${name}_month\" id=\"${id}_month\">"
if (noSelection) {
renderNoSelectionOptionImpl(out, noSelection.key, noSelection.value, '')
out.println()
}
dfs.months.eachWithIndex {m, i ->
if (m) {
def monthIndex = i + 1
out.println "<option value=\"${monthIndex}\"${i == month ? ' selected="selected"' : ''}>
${monthIndex}月</option>"
}
}
out.println '</select>'
}
// create day select
if (precision >= PRECISION_RANKINGS["day"]) {
out.println "<select name=\"${name}_day\" id=\"${id}_day\">"
if (noSelection) {
renderNoSelectionOptionImpl(out, noSelection.key, noSelection.value, '')
out.println()
}
for (i in 1..31) {
out.println "<option value=\"${i}\"${i == day ? ' selected="selected"' : ''}>${i}</option>"
}
out.println '</select>'
}
...........................................
...........................................
}
}
def
renderNoSelectionOption = {noSelectionKey, noSelectionValue, value ->
renderNoSelectionOptionImpl(out, noSelectionKey, noSelectionValue, value)
}
def
renderNoSelectionOptionImpl(out, noSelectionKey, noSelectionValue, value) {
// If a label for the '--Please choose--' first item is supplied, write it out
out << "<option value=\"${(noSelectionKey == null ? '' : noSelectionKey)}\"${noSelectionKey == value ? ' selected="selected"' : ''}>${noSelectionValue.encodeAsHTML()}</option>"
}
}
注意加上红色部分代码,否则会报错。
分享到:
相关推荐
"grails ckeditor 0.4修改支持flv插入" 这个标题揭示了我们正在处理一个Grails应用,其中整合了CKEditor 0.4版本,并且已经进行了定制以支持FLV(Flash Video)格式的媒体插入。这表明开发者可能在编辑器中扩展了...
9. **RESTful服务**:Grails鼓励使用RESTful风格来构建Web服务,通过简单的注解就能创建API,支持JSON和XML数据格式。 10. **测试支持**:Grails提供了丰富的测试框架,包括单元测试、集成测试和功能测试,帮助...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
`TagLib`库提供了丰富的标签,简化了视图层的开发。 六、URL映射(URL Mappings) Grails的URL映射机制允许开发者定义友好的、可读性强的URL。`UrlMappings.groovy`文件中定义了这些映射规则,使得路由更加灵活。 ...
- **修改 web.xml**:首先需要运行命令 `grails install-templates`,然后可以在 `src/templates/war/web.xml` 文件中进行修改。 #### 四、Grails 的开发工具与资源 - **开发工具**:推荐使用适合 Groovy 和 ...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
10. **热部署**: 开发者在Grails中修改代码后,应用可以自动重新加载变化,无需手动重启服务器,提高了开发效率。 下载的"grails-3.3.2"压缩包文件包含了完整的Grails 3.3.2框架源码、文档、库和其他必要的组件。...
此外,Groovy的动态特性允许你在运行时添加或修改类的行为,这在快速迭代开发中非常有用。 Grails框架提供了丰富的插件系统,可以快速扩展功能。例如,如果你需要集成数据库,可以使用ORM框架GORM(Grails Object ...
该命令自动生成了标准的项目目录结构,包括但不限于`grails-app`下的`conf`、`controller`、`domain`、`i18n`、`services`、`taglib`、`views`等目录,以及`grails-tests`、`hibernate`、`lib`、`spring`等目录。...
然而,当需要自定义时,可以通过`Config.groovy`配置文件进行修改。 5. **运行与测试** - **运行Grails应用**:使用`grails run-app`命令启动应用,可以在本地服务器上查看运行效果。 - **测试Grails应用**:...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
Grails默认使用H2内存数据库,如需使用MySQL,需修改`Config.groovy`中的数据库配置。添加如下代码: ```groovy dataSource { pooled = true driverClassName = "com.mysql.jdbc.Driver" username = "your_db_...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...