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> 


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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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