第一步:定义父类java
package group.esperanto.action.util; import java.text.SimpleDateFormat; import java.util.Locale; import javax.annotation.Resource; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.context.MessageSource; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; public class AbstractAction { @InitBinder public void initBinder(WebDataBinder binder){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 本方法的处理旨在追加一个自定义的转换编辑器,碰见java.util.Date类型就使用定义好的SimpleDateFormat来格式化处理, binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor(sdf, true)); //这里的true表明容许参数内容为空 } }
第二步:子类中继承web
package group.esperanto.action; import java.io.IOException; import java.util.Date; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.sound.midi.MidiDevice.Info; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import group.esperanto.action.util.AbstractAction; @Controller // 定义该Action的映射路径 // 该路径绝对不能重复 @RequestMapping("/pages/emp/*") public class EmpAction extends AbstractAction { //继承父类 private Logger log = Logger.getLogger(EmpAction.class); @RequestMapping("echo") //映射方法名 public void echo(String msg,Date date){ //第二个参数为日期类型,将被父类定义的日期格式方法处理 Logger.getLogger(EmpAction.class).info(msg); Logger.getLogger(EmpAction.class).info(date); } }