基于XML配置的Spring MVC(二)

2014-11-23 21:25:30 · 作者: · 浏览: 36
ntroller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import cn.itcast.springmvc.domain.User;

/**
*命令控制器
*/
public class MyCommandController extends AbstractCommandController {

public MyCommandController(){
//注册命令类
this.setCommandClass(User.class);
//命令名称
this.setCommandName("user");
}

@Override
protected ModelAndView handle(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
User u = (User)command;
System.out.println("name:" + u.getName() + " address:" + u.getAddress());
return new ModelAndView("commandView","user",u);
}

}

8、commandView.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>



'commandView.jsp'




This is commandView.jsp

name:${user.name }

address:${user.address }

age:${user.age }

tel:${user.tel }


9、MyFormController

package cn.itcast.springmvc.controller;

import org.springframework.web.servlet.mvc.SimpleFormController;

import cn.itcast.springmvc.domain.User;

public class MyFormController extends SimpleFormController {

public MyFormController() {
this.setCommandClass(User.class);
this.setCommandName("user");
}

@Override
protected void doSubmitAction(Object command) throws Exception {
User u = (User)command;
System.out.println(u.getName());
System.out.println("doSubmitAction");
super.doSubmitAction(command);
}

}

对应的userForm.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



'userForm.jsp'





name:

age:

address:

tel:




对应的success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>



'success.jsp'



This is success.jsp!

10、MyWizardFormController的代码如下:

package cn.itcast.springmvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractWizardFormController;

import cn.itcast.springmvc.domain.User;

public class MyWizardFormController extends AbstractWizardFormController {

public MyWizardFormController(){
this.setCommandClass(User.class);
this.setCommandName("user");
}

@Override
protected ModelAndView processCancel(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
return new ModelAndView("helloworld"); //跳转到helloworld.jsp
}

@Override
protected ModelAndView processFinish(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
User u = (User) command;
System.out.println(u);
return new ModelAndView("helloworld"); //跳转到helloworld.jsp
}

}

相应的WEB-INF/wizard/1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


'1.jsp'





name:
//标出的颜色区域可以用于回显
//必须有下划线,且值是确定的
//必须有下划线,且值是确定的


相应的WEB-INF/wizard/2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":