欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaEE Springmvc,Controller方法返回值

程序员文章站 2024-03-24 08:19:40
...

Springmvc的jar包下载:https://pan.baidu.com/s/1Uu5R96z4LwwtydGq4B60Xg  密码:8c3n

 

ItemController.java(Controller后端控制器):

package com.xxx.springmvc.controller;

import java.io.IOException;
import java.util.List;

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

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.xxx.springmvc.pojo.Items;
import com.xxx.springmvc.service.ItemService;

//商品管理
@Controller
@RequestMapping(value = "/item")
public class ItemController {
	
	@Autowired
	private ItemService itemService;
	
	/**
	 * Controller方法返回值
	 * 1.ModelAndView  有动态数据和视图路径   (不建议使用)
	 * 2.String    返回视图路径     Model携带动态数据(要显示在视图上的动态数据)    (建议使用) 数据与视图解耦(MVC思想)
	 * 3.void      适用于ajax请求     通过response返回json格式数据  
	 */
	
	//返回ModelAndView(不推荐)
	@RequestMapping(value = "/itemlist.action")
	public ModelAndView itemList(){
		
		List<Items> list = itemService.selectItemsList();
		
		ModelAndView mav = new ModelAndView();
		//通过ModelAndView往Request域中绑定数据。
		mav.addObject("itemList", list);  //jsp页面中可以通过el表达式${itemList}获取。
		
		//指定view视图(jsp页面)。
		mav.setViewName("itemList"); //指定视图路径。可以在springmvc.xml文件中配置视图解析器,配置jsp页面路径的前缀和后缀。
		return mav;  //返回ModelAndView
	}
	
	//返回String(推荐),通过Model或者ModelMap携带动态数据
	@RequestMapping(value = "/itemlist2.action")
	public String itemList2(Model model) {  //model携带动态数据
		
		List<Items> list = itemService.selectItemsList();
		
		//通过model往Request域中绑定数据。
		model.addAttribute("itemList", list); //jsp页面中可以通过el表达式${itemList}获取。
		return "itemList";  //返回视图(jsp页面)路径(String)
		//return "redirect:/itemEdit.action?itemId=1;   //重定向
		//return "forward:/itemEdit.action";   //转发
	}
	
	//返回void;适用于Ajax,返回Json数据
	@RequestMapping(value = "/itemlist3.action")
	public void itemList3(Model model,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		
		List<Items> list = itemService.selectItemsList();
		//model.addAttribute("itemList", list);
		//request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);  //转发
		//response.sendRedirect("itemlist.action");   //重定向
		
		response.getWriter().print("{\"abc\":123}");  //Ajax 返回Json数据。
	}
}