カスタムラベルかすたむらべる:ドロップダウンボックス年選択コントロールドロップダウンボックス年せんたくつーる
2250 ワード
一、ラベルソースコード
二、FTLテンプレート
三、属性説明
name:コントロールの名前を指定します.negativeOffset:現在の年の往年方向に対するオフセット量.整数値でなければなりません.値が0未満の場合、0にリセットされます.positiveOffset:現在の年の将来の年方向に対するオフセット量.整数値でなければなりません.値が0未満の場合、0にリセットされます.allowEmpty:空の値を選択できるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはtrueです.defaultCurrent:デフォルト値が現在の年の値であるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはfalseです.
四、例
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"/>