KIC/Spring

day67 - Spring Framework(mvc)

바차 2021. 9. 23. 15:58
반응형

[EventController.java]

package controller;

import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import event.Event;
import event.SearchOption;
import service.EventService;
import event.EventType;

@Controller
@RequestMapping("/event") 
public class EventController {
private static final String REDIRECT_EVENT_LIST = "redirect:/event/list";
	private EventService eventService;
	public EventController() {
		eventService = new EventService(); 
	}
		
	@RequestMapping("/list")
	public String list (SearchOption option, Model model) {
		List<Event> eventList = eventService.getOpenedEventList (option); 
		model.addAttribute("eventList", eventList); 
		model.addAttribute("eventTypes", EventType.values()); 
		return "event/list";
	}

	@RequestMapping("/list2")
	public ModelAndView list2(SearchOption option) {
		List<Event> eventList = eventService.getOpenedEventList (option); 
		ModelAndView modelView = new ModelAndView();	
		modelView.setViewName("event/list");
		modelView.addObject("eventList", eventList);
		modelView.addObject("eventTypes", EventType.values());
		return modelView;
	}
}

 

 

[Event.java]

package event;

public class Event {

	private Long id;
	private String name;
	private EventType type;

	public Long getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public EventType getType() {
		return type;
	}

	public static Event create(Long id, String name, EventType type) {
		Event result = new Event();
		result.id = id;
		result.name = name;
		result.type = type;
		return result;
	}

}

 

[EventType.java]

package event;

public enum EventType {

	FLASHMOB, CIRCUS, CONFERENCE
}

 

[SearchOption.java]

package event;

import java.util.Collection;
import java.util.Date;

public class SearchOption {
	private Collection<EventType> types;
	private boolean allType;
	private Date from;
	private Date to;

	public Collection<EventType> getTypes() {
		return types;
	}

	public void setTypes(Collection<EventType> types) {
		this.types = types;
	}

	public boolean isAllType() {
		return allType || types == null;
	}

	public void setAllType(boolean allType) {
		this.allType = allType;
	}

	public Date getFrom() {
		return from;
	}

	public void setFrom(Date from) {
		this.from = from;
	}

	public Date getTo() {
		return to;
	}

	public void setTo(Date to) {
		this.to = to;
	}

}

 

300x250