大家好,又见面了,我是你们的朋友全栈君。
最近在用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账号...