Spring mvc 中MultiActionController的三种methodNameResolver

三种methodNameResolver分别为:

org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver

org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver

org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver

配置方法为:

 



	
	
	  
		  
			  
		  
	 
	
	
	
		
		
	
	
	
	
		   
      		 /abc/test.do=doTest  
		  
	
	
		
	
	
	
	
		
		
		
	

	

控制器代码:

package test;

import java.util.Date;

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

import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class EmpMultiController extends MultiActionController{
	
	public ModelAndView to_add(HttpServletRequest request, HttpServletResponse response){
		ModelAndView mav = new ModelAndView("add_emp");
		mav.addObject("deptList", new String[]{"sales","manage"});
		return mav;
	}
	
	public ModelAndView doTest(HttpServletRequest request, HttpServletResponse response){
		System.out.println("doTest");
		return null;
	}
	
	public ModelAndView add_emp(HttpServletRequest request, HttpServletResponse response, 
			 Emp emp){
		System.out.println(emp);
		return new ModelAndView("success");
	}

	@Override
	protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
		binder.registerCustomEditor(Date.class, new MyEditor());
	}
	
}


当methodNameResolver分别设置为

aResolver访问方式为:

http://10.2.17.15:7080/SpringMVC/spring/abc/doTest

bResolver访问方式为:
http://10.2.17.15:7080/SpringMVC/spring/abc/test.do

cResolver访问方式为:

http://10.2.17.15:7080/SpringMVC/spring/abc/aaa?func=doTest

(aaa部分是我随便加的,没有也可以,只要保证?func=doTest即可)

你可能感兴趣的:(JAVA)