@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>