ModelMap的作用

ModelMap的作用最近在用ssm框架开发项目,之前都是二次开发,现在是从头开发,都有点不适应了,遇到了很多前端后台的问题。说说ModelMap的作用packageorg.springframework.ui;importjava.util.Collection;importjava.util.LinkedHashMap;importjava.util.Map;importorg.spr

大家好,又见面了,我是你们的朋友全栈君。

最近在用ssm框架开发项目,之前都是二次开发,现在是从头开发,都有点不适应了,遇到了很多前端后台的问题。

说说ModelMap的作用

package org.springframework.ui;

import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;

import org.springframework.core.Conventions;
import org.springframework.util.Assert;

@SuppressWarnings("serial")
public class ModelMap extends LinkedHashMap<String, Object> {

	
	public ModelMap() {
	}

	
	public ModelMap(String attributeName, Object attributeValue) {
		addAttribute(attributeName, attributeValue);
	}

	
	public ModelMap(Object attributeValue) {
		addAttribute(attributeValue);
	}


	
	public ModelMap addAttribute(String attributeName, Object attributeValue) {
		Assert.notNull(attributeName, "Model attribute name must not be null");
		put(attributeName, attributeValue);
		return this;
	}

	
	public ModelMap addAttribute(Object attributeValue) {
		Assert.notNull(attributeValue, "Model object must not be null");
		if (attributeValue instanceof Collection && ((Collection<?>) attributeValue).isEmpty()) {
			return this;
		}
		return addAttribute(Conventions.getVariableName(attributeValue), attributeValue);
	}

	
	public ModelMap addAllAttributes(Collection<?> attributeValues) {
		if (attributeValues != null) {
			for (Object attributeValue : attributeValues) {
				addAttribute(attributeValue);
			}
		}
		return this;
	}

	
	public ModelMap addAllAttributes(Map<String, ?> attributes) {
		if (attributes != null) {
			putAll(attributes);
		}
		return this;
	}

	
	public ModelMap mergeAttributes(Map<String, ?> attributes) {
		if (attributes != null) {
			for (Map.Entry<String, ?> entry : attributes.entrySet()) {
				String key = entry.getKey();
				if (!containsKey(key)) {
					put(key, entry.getValue());
				}
			}
		}
		return this;
	}

	
	public boolean containsAttribute(String attributeName) {
		return containsKey(attributeName);
	}

}

代码里面有个方法:addAttribute和addAttributeAll

这个方法其实就是我们经常用的,在代码里面一般是这样体现的:

map.put("smallGoods", smallGoods);

就是把后台查询出来的集合、字符串(一般是错误信息)、对象等传到前台,当然,这个值不能是空的

前台接收参数时:两个问号是判断这个对象或者集合是否为空

<#if smallGoods??>
 <#list smallGoods as specialControl>
		<option id="${specialControl.goodstypeid}" name="tempgoodstypeid" value="${specialControl.goodstypeid}">${specialControl.goodsdesc}</option>
	</#list>
<#else>
</#if> 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150106.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装包的操作路径「建议收藏」

    pycharm安装包的操作路径「建议收藏」

    2022年5月17日
    83
  • [Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」

    [Python3]Numpy数组转置的三种方法T、transpose、swapaxes「建议收藏」天下难事,必作于易;天下大事,必作于细——老子Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环。1.首先数组转置(T)创建二维数组data如下:进行矩阵运算时,经常要用数组转置,比如计算矩阵内积X^TX.这时就需要利用数组转置,如下:2.轴对换之transpose对于高维数组,可以使用轴对换来对多…

    2022年6月2日
    36
  • Spring配置与第一Spring HelloWorld

    Spring配置与第一Spring HelloWorld

    2022年1月7日
    41
  • idea查看本地激活码_通用破解码「建议收藏」

    idea查看本地激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    79
  • javase学习笔记

    javase学习笔记01.01_计算机基础知识(计算机概述)(了解)A:什么是计算机?计算机在生活中的应用举例计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。应用举例1:科学计算2、数据处理3、自动控制4、计算机辅助设计…

    2022年5月13日
    33
  • SQLyog下载、安装和破解(亲测永久有效)

    SQLyog下载、安装和破解(亲测永久有效)百度网盘下载链接:https://pan.baidu.com/s/1xck24MsW7y9Gi8ZvDgDMEg密码:ba2x版本2链接:https://pan.baidu.com/s/1-0POHrvx5vM04bKZq9DmIQ密码:o268安装非常之简单,直接点击exe文件安装,最后输入破解序列号即可永久使用。更多资料,搜索或扫码关注公众号:数说Cloud…

    2022年5月27日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号