- 浏览: 563542 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (145)
- apache-struts (3)
- apache-shiro (4)
- apache-wicket (1)
- spring (34)
- spring-data-jpa (2)
- spring-mvc (20)
- spring-security (1)
- spring-webflow (1)
- hibernate (2)
- mongodb (1)
- ibatis (5)
- mysql (4)
- 开源组件 (18)
- java (3)
- maven (7)
- jBPM (1)
- EJB (1)
- JMS (2)
- servlet / jsp (9)
- javascript / jquery (10)
- 工作技巧 (12)
- ubuntu (6)
- bootstrap (10)
- javaee (1)
- 他山石 (7)
- jetbrick (1)
最新评论
-
yubao2008:
[size=x-small]为什么我也这样试了, 就是没有生效 ...
javax.servlet.http.HttpServletResponse 得到 status_code -
chenrl:
...
SpringMVC杂记(十五) spring-mvc controller 的切面 -
LONGTENGLONG:
你好,这样配置的,得到的集合为空,是什么原因?
apache-shiro杂记(一) 统计在线用户数目 -
xiafengfeiwu:
[flash=200,200][url]引用[/url][/f ...
apache-shiro 学习笔记 -
3108493554:
你好 ,有些问题想请教下,加下我qq310849354,你这上 ...
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
BootstrapPlugin - daterangepicker 使用笔记
- 博客分类:
- spring-mvc
- bootstrap
BootstrapPlugin - daterangepicker 使用笔记
1) 项目中间要用到选择日期范围的控件,因为是基于twitter-bootstrap框架的东西
找到一个插件,自己汉化一下。稍微修改一下源代码即可。(见本文附件)
2) 效果图
3) 因为后端使用的是spring-mvc框架,自己开发一个标注实现数据绑定。(不采用java.util.Date,依赖joda-time.jar)
model:
annotation:
AnnotationFormatterFactory
spring-mvc 配置
这样一来,就可以吧诸如"1985/06/22 - 2012/11/13"这样的字符串直接绑定到DateTimeRange类上,很方便。
4) 参考资料
插件官网
张开涛SpringMVC教程
bootstrap-daterangepicker.js依赖的date.js官方教程
1) 项目中间要用到选择日期范围的控件,因为是基于twitter-bootstrap框架的东西
找到一个插件,自己汉化一下。稍微修改一下源代码即可。(见本文附件)
2) 效果图
3) 因为后端使用的是spring-mvc框架,自己开发一个标注实现数据绑定。(不采用java.util.Date,依赖joda-time.jar)
model:
package com.ztgame.me.ext.model.datetimerange; import java.io.Serializable; import org.joda.time.DateTime; public class DateTimeRange implements Serializable { private static final long serialVersionUID = 7099749496174999964L; private DateTime startDateTime; private DateTime endDateTime; // ------------------------------------------------------------------------------------ // 构造方法 public DateTimeRange() { super(); } public DateTimeRange(DateTime startDateTime, DateTime endDateTime) { this(); this.startDateTime = startDateTime; this.endDateTime = endDateTime; } // ------------------------------------------------------------------------------------ public DateTime getStartDateTime() { return startDateTime; } public void setStartDateTime(DateTime startDateTime) { this.startDateTime = startDateTime; } public DateTime getEndDateTime() { return endDateTime; } public void setEndDateTime(DateTime endDateTime) { this.endDateTime = endDateTime; } }
annotation:
package com.ztgame.me.ext.model.datetimerange; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented @Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER }) @Retention(RetentionPolicy.RUNTIME) public @interface DateTimeRangeFormat { public String pattern() default "yyyy/MM/dd"; public String delimiter() default " - "; }
AnnotationFormatterFactory
package com.ztgame.me.ext.model.datetimerange; import java.io.Serializable; import java.text.ParseException; import java.util.HashSet; import java.util.Locale; import java.util.Set; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.springframework.format.AnnotationFormatterFactory; import org.springframework.format.Formatter; import org.springframework.format.Parser; import org.springframework.format.Printer; public class DateTimeRangeFormatAnnotationFormatterFactory implements AnnotationFormatterFactory<DateTimeRangeFormat> { @Override public Set<Class<?>> getFieldTypes() { Set<Class<?>> fieldTypes = new HashSet<Class<?>>(); fieldTypes.add(DateTimeRange.class); return fieldTypes; } @Override public Printer<?> getPrinter(DateTimeRangeFormat annotation, Class<?> fieldType) { return new DateTimeRangeFormatter(annotation.pattern(), annotation.delimiter()); } @Override public Parser<?> getParser(DateTimeRangeFormat annotation, Class<?> fieldType) { return new DateTimeRangeFormatter(annotation.pattern(), annotation.delimiter()); } // ~============================================================================================================================ private static class DateTimeRangeFormatter implements Formatter<DateTimeRange>, Serializable { private static final long serialVersionUID = -818656464607971661L; private String delimiter; private String pattern; public DateTimeRangeFormatter(String pattern, String delimiter) { this.pattern = pattern; this.delimiter = delimiter; } @Override public String print(DateTimeRange object, Locale locale) { StringBuilder sb = new StringBuilder(); sb.append(object.getStartDateTime().toString(pattern)); sb.append(delimiter); sb.append(object.getEndDateTime().toString(pattern)); return sb.toString(); } @Override public DateTimeRange parse(String text, Locale locale) throws ParseException { String[] ps = text.split(delimiter); DateTimeFormatter format = DateTimeFormat.forPattern(pattern); DateTime startDateTime = format.parseDateTime(ps[0]); DateTime endDateTime = format.parseDateTime(ps[1]); return new DateTimeRange(startDateTime, endDateTime); } } }
spring-mvc 配置
<bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <!-- 其他自己实现的converter,跟本列子无关 --> </list> </property> <property name="formatters"> <list> <bean class="com.ztgame.me.ext.model.datetimerange.DateTimeRangeFormatAnnotationFormatterFactory" /> </list> </property> </bean>
这样一来,就可以吧诸如"1985/06/22 - 2012/11/13"这样的字符串直接绑定到DateTimeRange类上,很方便。
4) 参考资料
插件官网
张开涛SpringMVC教程
bootstrap-daterangepicker.js依赖的date.js官方教程
- bootstrap-daterangepicker.zip (106 KB)
- 下载次数: 514
发表评论
-
SpringMVC杂记(十八) ServletRequestAttributes的应用
2014-02-28 12:38 14226看了一下SpringMVC的源代码,原来SpringMVC也提 ... -
SpringMVC杂记(十七) HandlerMethodArgumentResolver接口应用example
2014-01-24 15:29 12209自从spring3.1 开始就有了这个接口,可以为@Reque ... -
SpringWebflow杂记(一) 框架初探,与SpringMVC的集成
2013-10-23 17:18 1716今日研究了一下SpringWebFlow这个项目,作为Spri ... -
SpringMVC杂记(十六) spring-mvc 与 openid4java
2013-10-12 15:25 3878SpringMVC杂记(十六) spring-mvc 与 op ... -
SpringMVC杂记(十五) spring-mvc controller 的切面
2013-08-01 19:42 6148SpringMVC杂记(十五) spring-mvc cont ... -
SpringMVC杂记(十四) Ajax方式的JSR303认证
2013-06-13 07:29 4526自己定义一个Exception,用来表示数据绑定失败 im ... -
SpringMVC杂记(十三) 使用FreeMarker作为视图层
2013-06-09 11:55 3406实在没什么好说的,直接上配置文件好了 <bean i ... -
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
2013-06-04 14:04 3209一)最近项目中要求实现Web应用的SSO(Single Sig ... -
SpringMVC杂记(十一) 使用Excel视图
2013-04-06 16:06 6633SpringMVC杂记(十一) 使用Excel视图 一) 其 ... -
BootstrapPlugin - toggleButton 使用笔记
2012-12-19 10:10 4092BootstrapPlugin - toggleButton ... -
BootstrapPlugin - typeahead-ex 使用笔记
2012-12-18 20:55 4157BootstrapPlugin - typeahead-ex ... -
BootstrapPlugin - prettyCheckable 使用笔记
2012-12-04 09:50 1777BootstrapPlugin - prettyCheckab ... -
BootstrapPlugin - editable 使用笔记
2012-12-03 13:41 3080BootstrapPlugin - editable 使用笔记 ... -
BootstrapPlugin - tags 插件编写 (原创bootstrap插件)
2012-12-01 12:57 7584BootstrapPlugin - tags 插件编写 (原创 ... -
BootstrapPlugin - notify 使用笔记
2012-11-30 10:36 1791BootstrapPlugin - notify 使用笔记 ... -
BootstrapPlugin - wysihtml5 使用笔记
2012-11-13 15:47 1825BootstrapPlugin - wysihtml5 使用笔 ... -
BootstrapPlugin - datepicker 使用笔记
2012-11-13 14:40 1916BootstrapPlugin - datepicker 使用 ... -
Bootstrap相关资料整理
2012-11-13 11:33 1954Bootstrap 相关 官方网站 http://twitt ... -
SpringMVC杂记(十) 验证码生成
2012-11-06 10:18 2789以前写过一篇关于这个的博客,现在用SpringMVC了,重写一 ... -
SpringMVC杂记(九) 模拟其他类型(非GET,POST)的请求
2012-10-22 10:49 26981) 以前一个小兄弟问我,SpringMVC是否可以使用很多浏 ...
相关推荐
在本篇笔记中,我们将深入探讨其主要特性、用法以及如何在项目中集成和定制。 首先,Bootstrap的typeahead基础功能是根据用户输入的字符动态显示匹配的建议列表。typeahead-ex则进一步增强了这个功能,它支持异步...
在使用BootstrapPlugin - wysihtml5 时,首先需要在页面中引入相关的CSS和JavaScript文件,包括Bootstrap的样式表和wysihtml5的脚本。接着,创建一个`<textarea>`元素,然后通过JavaScript初始化编辑器,将其绑定到...
npm install material-ui-datetime-range-picker笔记这项工作仍在进行中,请您自担风险。 我添加了一些基本文档。 有许多属性需要抽象为一个参数,还需要完成其他工作。 请注意,这使用Material UI版本0.2,并且...
在使用BootstrapPlugin - editable时,你需要了解以下关键知识点: 1. **安装与引入**: 首先,确保你的项目已经包含了Bootstrap库和jQuery,因为editable插件依赖于这两个库。然后,你可以通过CDN或者本地文件...
在阅读博客文章“BootstrapPlugin - prettyCheckable 使用笔记”(链接:https://yingzhuo.iteye.com/blog/1740617)时,你可能会了解更多关于这个插件的高级用法、注意事项和实际案例。博主应会详细讲解如何在实际...
这篇博客文章《BootstrapPlugin - datepicker 使用笔记》将深入探讨如何集成和使用这个插件。 首先,要在项目中使用bootstrap-datepicker,你需要确保已经安装了Bootstrap框架,因为它是该插件的基础。你可以通过...
BootstrapPlugin的toggleButton是一个在Web开发中非常实用的组件,尤其在构建响应式界面时。这个组件基于流行的Bootstrap框架,提供了美观且易于使用的开关按钮,用于替代传统的复选框或单选按钮。在本文中,我们将...
BootstrapPlugin的notify功能是Bootstrap框架中的一个通知插件,它允许开发者轻松地在网页上创建各种类型的通知消息,提供了一种高效、灵活的方式来传递信息给用户。这个插件基于Bootstrap的CSS样式和JavaScript功能...
2022年-软考-网络工程师-复习笔记-网络安全-上半年-学习笔记-考点-真题讲解-重点归纳
2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-...
TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 ...
Hadoop权威指南----读书笔记
Software Engineering at Google-2020-英文版 学习笔记 Software Engineering at Google-2020-英文版 学习笔记 Software Engineering at Google-2020-英文版 学习笔记 Software Engineering at Google-2020-英文版 ...
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记...
《Architecture Patterns with Python-2020》-英文版 笔记 Harry Percival and Bob Gregory 《Architecture Patterns with Python-2020》-英文版 笔记 Harry Percival and Bob Gregory 《Architecture Patterns with...
Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...