📄 calendarpage.java
字号:
package com.manning.hq.ch08.tapestry;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.IRequestCycle;
import java.util.List;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import com.manning.hq.ch08.CalendarModel;
import com.manning.hq.ch08.CalendarDay;
import com.manning.hq.ch08.Event;
import com.manning.hq.ch08.DateUtils;
/**
*
*/
public class CalendarPage extends BasePage {
private List row;
private CalendarDay day;
private Event event;
private int month;
private int year;
private int previousMonth;
private int previousYear;
private int nextMonth;
private int nextYear;
private CalendarModel model;
public CalendarPage() {
Calendar thisMonth = Calendar.getInstance();
month = thisMonth.get(Calendar.MONTH);
year = thisMonth.get(Calendar.YEAR);
storeNextMonth();
storePreviousMonth();
}
//*********************************************************************************************************************
//* Accessed by HTML template for iteration
//*********************************************************************************************************************
public List getRow() { return row; }
public void setRow(List row) { this.row = row; }
public CalendarDay getDay() { return day; }
public void setDay(CalendarDay day) { this.day = day; }
public Event getEvent() { return event; }
public void setEvent(Event event) { this.event = event; }
//*********************************************************************************************************************
//* Accessed by HTML page for links
//*********************************************************************************************************************
public int getPreviousMonth() { return previousMonth; }
public int getPreviousYear() { return previousYear; }
public int getNextMonth() { return nextMonth; }
public int getNextYear() { return nextYear; }
public String getFormattedDate(){
SimpleDateFormat f = new SimpleDateFormat("MMMM yyyy");
return f.format(getCalendarModel().getDate());
}
public CalendarModel getCalendarModel(){
if(model == null){
loadModel();
}
return model;
}
private void loadModel() {
com.manning.hq.ch08.tapestry.EventManager manager = (com.manning.hq.ch08.tapestry.EventManager) getVisit();
List eventsFor = manager.findEventsFor(month, year);
model = new CalendarModel(month, year);
model.setEvents(eventsFor);
}
public void link(IRequestCycle cycle){
Object[] params = cycle.getServiceParameters();
month = ((Integer) params[0]).intValue();
year = ((Integer) params[1]).intValue();
loadModel();
storeNextMonth();
storePreviousMonth();
}
private void storePreviousMonth() {
Calendar previous = DateUtils.createCalendarMonth(month - 1, 1, year);
previousMonth = previous.get(Calendar.MONTH);
previousYear = previous.get(Calendar.YEAR);
}
private void storeNextMonth() {
Calendar next = DateUtils.createCalendarMonth(month + 1, 1, this.year);
nextMonth = next.get(Calendar.MONTH);
nextYear = next.get(Calendar.YEAR);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -