控制器
1) org.springframework.web.servlet.mvc.ParameterizableViewController
一般用于静态页面之间的跳转
<!-- 专用于jsp到jsp之间的转发控制器 -->
<bean name="/index.action" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<!-- 转发到真实视图名 -->
<property name="viewName" value="/jsp/success.jsp"></property>
</bean>
2) org.springframework.web.servlet.mvc.AbstractCommandController
能够以实体的形式,收集客户端参数
package cn.qblank.date;
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;
@SuppressWarnings("deprecation")
public class EmpAction extends AbstractCommandController{
//org.springframework.web.servlet.mvc.AbstractCommandController能够以实体的形式,收集客户端参数
public EmpAction(){
//将表单参数封装进去
this.setCommandClass(Emp.class);
}
/**
* obj表示封装后的实体
* error表示封装时产生的异常
*/
@Override
protected ModelAndView handle(HttpServletRequest request,
HttpServletResponse response, Object obj, BindException error)
throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message","添加成功");
Emp emp = (Emp) obj;
System.out.println(emp.getUsername()+":" + emp.getGender());
//将对象封转到ModelAndView中
modelAndView.addObject("emp",emp);
//设置跳转页面
modelAndView.setViewName("/jsp/success.jsp");
return modelAndView;
}
}
<!-- 注册Action -->
<bean name="/add.action" class="cn.qblank.date.EmpAction"></bean>
<!-- 映射器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>