Java tutorial
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.jhkt.playgroundArena.examples.generic.controller; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.ModelAndView; /** * @author Ji Hoon Kim */ @Controller @RequestMapping("/general") public class GeneralController extends BaseController { @InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); } @RequestMapping(method = RequestMethod.GET) public void processGenericGet() { } @RequestMapping(method = RequestMethod.POST) public void processGenericPost() { } @RequestMapping(value = "/sayHello", method = RequestMethod.GET) public void sample(WebRequest request, Writer writer) { try { writer.write("I say Hello"); writer.flush(); } catch (Exception e) { e.printStackTrace(); } } @RequestMapping(value = "/parameterExample/{parameter}", method = RequestMethod.GET) public void parameter(@PathVariable String parameter, @RequestParam(required = false) String paramVariable, Model model) { model.addAttribute("parameter", parameter); } @RequestMapping(value = "/redirector", method = RequestMethod.GET) public String redirector() { return "redirect:/sayHello"; } @RequestMapping(value = "/welcomeView", method = RequestMethod.GET) public String welcomeView() { return "generalWelcome"; } @RequestMapping(value = "/html5MainVelocityView", method = RequestMethod.GET) public ModelAndView html5MainVelocityView() { Map<String, Object> model = getBaseFields(); return new ModelAndView("html5MainVelocity", model); } @RequestMapping(value = "/requireJsView", method = RequestMethod.GET) public String requireJsView() { return "generalRequireJs"; } }