一、标签源代码
public class CalendarYearTag extends BaseBodyTagSupport {
private String name; //控件名
private int negativeOffset; //负方向的偏移量
private int positiveOffset; //正方向的偏移量
private String allowEmpty = "true"; //是否可以为空
private String defaultCurrent = "false"; //是否默认取当前年份
public int doEndTag() throws JspException {
if(negativeOffset < 0) negativeOffset = 0;
if(positiveOffset < 0) positiveOffset = 0;
Calendar cal = DatetimeUtil.getCalendar();
int curYear = cal.get(Calendar.YEAR);
Map dataModel = new HashMap();
dataModel.put("name", CommonUtil.trim(name));
dataModel.put("negativeOffset", new Long(negativeOffset));
dataModel.put("positiveOffset", new Long(positiveOffset));
dataModel.put("allowEmpty", CommonUtil.trim(allowEmpty));
dataModel.put("defaultCurrent", CommonUtil.trim(defaultCurrent));
dataModel.put("curYear", new Long(curYear));
try{
String ret = render(pageContext.getServletContext(), dataModel, "taglib/CalendarYear.ftl");
pageContext.getOut().println(ret);
}catch(Exception ex){
throw new JspException(ex);
}
return EVAL_PAGE;
}
}
二、FTL模板
<select name="${name}">
<#if allowEmpty=="true">
<option value=""></option>
</#if>
<#list curYear+positiveOffset..curYear-negativeOffset as y>
<option value="${y?string('####')}" <#if defaultCurrent=="true" && curYear==y> selected</#if>>${y?string('####')}年</option>
</#list>
</select>
三、属性说明
name:指定控件的名称。
negativeOffset:相对当前年份的往年方向的偏移量。必须为整型值,当值小于0时,会被重置为0。
positiveOffset:相对当前年份的未来年方向的偏移量。必须为整型值,当值小于0时,会被重置为0。
allowEmpty:指定是否可以选择空值。可选值为:true 或 false。默认值为true。
defaultCurrent:指定默认值是否为当前年份值。可选值为:true 或 false。默认值为false。
四、范例
<cjm:calendarYear name="year" negativeOffset="5" positiveOffset="2" allowEmpty="false" defaultCurrent="true"/>
分享到:
相关推荐
本文将详细介绍一个名为“漂亮的js下拉框日历控件”的组件,它适用于.NET和JSP环境,能够为用户提供便捷、美观的日期选择体验。 首先,这个控件结合了JavaScript(JS)和HTML,以创建一个动态的下拉框日历。...
1. **下拉样式**:控件可能由一个文本框和一个下拉箭头组成,点击箭头后会展开一个下拉列表,显示月份和年份,用户可以滚动选择。 2. **日期导航**:下拉列表中可能包含向前和向后的按钮,方便用户在不同月份之间...
默认情况下,`QDateTimeEdit`提供了日期和时间的下拉框选择,但不直接支持循环滚动。为了实现循环选择,我们需要对其进行一些定制。 1. **自定义`QDateTimeEdit`**: 创建一个新的类,继承自`QDateTimeEdit`,并在...
1. 用户友好:控件应该具有直观的用户界面,使得用户能够轻松地选择日期,可能是通过下拉框、日历图标或者其他交互方式。 2. 自定义配置:允许开发者调整控件的外观和行为,如颜色主题、显示模式(日、周、月视图)...
此外,如果你想要更高级的定制,比如滑动选择年份或月份,或者具有更美观的UI设计,可以考虑使用第三方库,如MaterialDateTimePicker,它可以提供Material Design风格的日期和时间选择器。 综上所述,创建一个...
滑动城市选择控件: 滑动城市选择控件通常包含一个包含各国、各地区城市的列表,用户可以通过滑动找到并选择所需的城市。这种控件适用于需要定位或选择服务提供地的应用。为了提高效率,控件可能会按照字母顺序或...
在IT领域,尤其是在前端开发中,设计年月的日期控件是常见的用户界面元素,用于用户选择特定的年份和月份。这篇“csdn上设计年月的日期控件汇总”资源集合提供了一系列的设计方案,旨在帮助开发者们找到适合他们项目...
控件的年、月、日、时、分、秒输入框都支持三种选择方式:通过导航图标选择、键盘输入数字以及从下拉框中直接选择。对于年份输入框,如果用户连续点击同一个导航按钮5次,系统会自动弹出年份下拉框。 3. **周显示...
可以创建一个自定义事件,当用户选择年份时触发,动态更新月份下拉框的选项,以及每一天的选项。 至于生肖,中国传统的农历生肖与公历(阳历)年份对应,每个生肖周期为12年,从甲子年开始,按照鼠、牛、虎、兔、龙...
2. 创建按钮或下拉框来切换月份和年份。 3. 在Grid的特定单元格内放置表示日期的小矩形,可以通过DataTemplate来定制每个日期单元格的样式。 4. 可选地,添加事件标记,如圆点或图标,用于表示特定日期有事件。 四...
年月日三联动时间控件是一种常见的用户界面元素,它允许用户通过三个相互关联的下拉框分别选择年、月和日,以精确地输入日期。这种控件在各种Web应用和桌面应用中广泛使用,尤其适用于需要用户输入日期的情况。下面...
这个CSS文件将规定日期选择器的各个部分(如年份、月份和日期的下拉框)的样式,包括字体、颜色、边框、背景色等,以确保与Windows 8的视觉语言一致。 "index.html"是主页面文件,它包含了HTML结构,定义了页面的...
3. **界面交互**:通过`JavaScript`或者`jQuery`,开发者可能在前端实现了更好的交互效果,比如年份选择的下拉框动态加载,或者在选择年份后自动切换到相应年份的首月。 4. **样式定制**:为了提升用户体验,开发者...
"month.html"很可能包含了不同的月份选择器实现,可能有简单的下拉框形式,也可能是具有滚动效果的月份滑块,或者是可自定义起始年的月份选择器。 3. **时间选择器** 时间选择器允许用户选择或输入小时和分钟,...
在网页开发中,时间日期选择控件是一种常见的交互元素,它允许用户方便地选取日期或时间,而无需手动输入,从而提高用户体验。本教程将详细讲解如何使用JavaScript编写一个时间控件。 首先,我们需要理解JavaScript...
2. **事件处理**:为了实现交互,需要为时间控件的各个部分绑定点击事件,如点击年份下拉框、月份选择器等。事件监听器可以使用`addEventListener`方法添加。 3. **日期和时间处理**:JavaScript的`Date`对象是处理...
1. 基础型:简单的弹出式日历,只显示月份和日期,通常有一个下拉框供用户选择年份。 2. 高级型:包含更多功能,如日期范围选择、时间选择、节假日标记等。 3. 滑动型:允许用户通过滑动来切换月份。 4. 模态型:...
在给定的标题"JQuery--只选择年月的日期控件"中,我们讨论的是一个特定的jQuery插件或功能,该功能允许用户在网页上仅选择年份和月份,而不是完整的日期。这种控件对于那些只需要处理年月信息的场景非常有用,比如...
默认的日期选择器只允许用户通过下拉框选择年、月、日,而不支持单独设置月份。 遇到QDateEdit无法设置月份的问题,可能是由于以下原因: 1. 错误的日期格式:确保使用的日期格式正确,遵循"yyyy-MM-dd"的国际标准...
有时在项目中需要选择生日之类的日期,而默认点开始日期都是当前日期,导致年份选择非常麻烦,你可以通过起始日期功能加上配置alwaysUseStartDate属性轻松解决此类问题 自定义格式(注意大小写) yMdHmswW分别代表年月...