カスタムラベルかすたむらべる:ドロップダウンボックス月選択コントロール
1764 ワード
一、ラベルソースコード
二、FTLテンプレート
三、属性説明
name:コントロールの名前を指定します.allowEmpty:空の値を選択できるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはtrueです.defaultCurrent:デフォルト値が現在の年の値であるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはfalseです.
四、例
public class CalendarMonthTag extends BaseBodyTagSupport {
private String name;
private String allowEmpty = "true";
private String defaultCurrent = "false";
public int doEndTag() throws JspException {
Calendar cal = DatetimeUtil.getCalendar();
int curMonth = cal.get(Calendar.MONTH);
Map dataModel = new HashMap();
dataModel.put("name", CommonUtil.trim(name));
dataModel.put("allowEmpty", CommonUtil.trim(allowEmpty));
dataModel.put("defaultCurrent", CommonUtil.trim(defaultCurrent));
dataModel.put("curMonth", new Long(curMonth+1));
try{
String ret = render(pageContext.getServletContext(), dataModel, "taglib/CalendarMonth.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 1..12 as m>
<option value="<#if m lt 10>0</#if>${m?string('####')}" <#if defaultCurrent=="true" && curMonth==m> selected</#if>><#if m lt 10>0</#if>${m?string('####')} </option>
</#list>
</select>
三、属性説明
name:コントロールの名前を指定します.allowEmpty:空の値を選択できるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはtrueです.defaultCurrent:デフォルト値が現在の年の値であるかどうかを指定します.オプションの値は、trueまたはfalseです.デフォルトはfalseです.
四、例
<cjm:calendarMonth name="month" allowEmpty="false" defaultCurrent="true"/>