@RequestMapping的参数如下
/**
* @see RequestMapping 参数
* @param value
* 需要跳转的地址
* @param mehtod
* 基于RestFul的跳转参数,有RequestMethod.get post,put 等
* @param params
* 符合某个参数的时候才调用该方法
* @param headers
* 符合头信息的时候才调用
* */
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp"></property> </bean>
@Controller
@RequestMapping("/test")
public class HelloWorldController {
static Logger logger = Logger.getLogger(HelloWorldController.class.getName());
@RequestMapping("/hello")
public void Hello() {
logger.info("The hello() method is use");
}
根据以上配置,方法无返回值时,默认寻找以下路径:spring3.X/WEB-INF/jsp/test/hello .jsp
prefix+类路径(类级别的mapping注解)+方法路径(方法级别的mapping注解)+prefix
修改代码返回ModelAndView对象:
@RequestMapping("/hello")
public ModelAndView Hello() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("hello");
return modelAndView;
}
路径:spring3.X/WEB-INF/jsp/hello .jsp(prefix+viewName+suffix)。
返回Map对象:
@SuppressWarnings("unchecked")
@RequestMapping("/hello")
public Map Hello() {
Map map = new HashMap();
map.put("map","hello");
return map;
}
路径:spring3.X/WEB-INF/jsp/test/hello.jsp,和第一种方法无返回值的情况类似:
prefix+类路径(类级别的mapping注解)+方法路径(方法级别的mapping注解)+suffix
返回一个ModelMap类型,使用modelMap.addAllAttributes将map中的所有元素添加到modelMap中,并显示到页面上。
@SuppressWarnings("unchecked")
@RequestMapping("/hello")
public ModelMap Hello() {
ModelMap modelMap = new ModelMap();
HashMap hashMap = new HashMap();
hashMap.put("h", "hello");
modelMap.addAttribute("w", "world");
/** Copy all attributes in the supplied Collection into this Map, using attribute name generation for each element.**/
modelMap.addAllAttributes(hashMap);
return modelMap;
}
路径:spring3.X/WEB-INF/jsp/test/hello.jsp
prefix+类路径(类级别的mapping注解)+方法路径(方法级别的mapping注解)+suffix
<body>
页面路径:hello/hello.jsp
<br />
${h},${w}
</body>