springmvc数据自动绑定详解编程语言

在实际开发中jsp页面会传递参数给后台,少数参数我们可以传递给后台,但是多个参数时我们可以封装成对象形式传递给后台。以下案例介绍下springmvc数据自动绑定,如何绑定实体对象

package com.somnus.controller; 
 
import java.util.Map; 
 
import javax.servlet.http.HttpServletRequest; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
 
import com.somnus.domain.Account; 
/** 
 * @class:ModelAutoBindController 
 * @descript:数据自动绑定,传递对象,返回页面 
 * @date:2016年10月24日 下午12:39:59 
 * @author san 
 * @version:V1.0 
 */ 
@Controller 
@RequestMapping(value = "databind") 
public class ModelAutoBindController { 
 
	@RequestMapping(value="modelautobind", method = {RequestMethod.GET}) 
	public String modelAutoBind(/*Model model*/){ 
		//界面用到了【springmvc标签】才需要用model设置一个对象,给前端用来绑定 
		/*model.addAttribute("account", new Account());*/ 
		return "modelautobind"; 
	} 
	 
	/**以下方法都可以用来拿到对象后,并把对象传递到结果界面 */ 
	/** 
	 * @descript:方法一:@ModelAttribute("xxx") 用注解形式绑定对象 
	 * @param account  对象 
	 * @return 
	 */ 
	@RequestMapping(value="modelautobind", method = {RequestMethod.POST}) 
	public String modelAutoBind(@ModelAttribute("account") Account account){ 
		System.out.println("第一种方式:" + account); 
		return "modelautobindresult"; 
	} 
	 
	@RequestMapping(value="modelautobind2", method = {RequestMethod.POST,RequestMethod.GET}) 
	public String modelAutoBind(Model model, Account account){ 
		System.out.println("第二种方式:" + account); 
		model.addAttribute("account", account); 
		return "modelautobindresult"; 
	} 
	 
	@RequestMapping(value="modelautobind3", method = {RequestMethod.POST}) 
	public String modelAutoBind(HttpServletRequest request,Account account){ 
		System.out.println("第三种方式:" + account); 
		request.setAttribute("account", account); 
		return "modelautobindresult"; 
	} 
	 
	@RequestMapping(value="modelautobind4", method = {RequestMethod.POST}) 
	public String modelAutoBind(Map<String,Object> map, Account account){ 
		System.out.println("第四种方式:" + account); 
		map.put("account", account); 
		return "modelautobindresult"; 
	} 
	 
}

运行结果截图:

springmvc数据自动绑定详解编程语言

springmvc数据自动绑定详解编程语言

备注:

1.以上介绍了4个方法如何绑定实体对象

方法一:方法直接带实体对象参数,[email protected](“account”),返回页面return直接写jsp页面名称,方法返回类型为string。该方法利用springmvc机制封装modelattribute

方法二:方法带参数Model和实体对象名称,把实体对象存入model中返回对应的jsp页面。该方法利用的springmvc机制封装model

方法三:方法带参数request和实体对象名称,把实体对象存入request中返回对应的jsp页面。该方法利用原生request机制。

方法三:方法带参数map和实体对象名称,把实体对象存入map中返回对应的jsp页面。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/11198.html

(0)
上一篇 2021年7月19日 10:47
下一篇 2021年7月19日 10:47

相关推荐

发表回复

登录后才能评论