(前言:spring boot项目,使用了Thymeleaf拦截器)
后端controller如下:
//原料
QueryWrapper<Ingredient> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_del",2);
List<Ingredient> list= iIngredientService.list(queryWrapper);
HashMap<Long, String> map = new HashMap<Long,String>();
for(int j = 0; j<list.size(); j++){
map2.put(list.get(j).getId(),list.get(j).getName());
}
model.addAttribute("ingredient",map);
返回给前端的数据是
前端将map数据转化为数组的形式,更便于代码书写
var ingredient = [[${ingredient}]]// console.log(ingredient)
//原料
var ingredients = [];
//map转数组
var list = [];
for (var key in ingredient) {
list.push( /*或list.push([key, ingredient[key]])*/
{
id:key,
name:ingredient[key]
}
);
注意:
js通过model取值必须加上th:inline ,通常在取值的前后会加上不同的注释
<script language='javascript' th:inline="javascript">
var ingredient =[[${ingredient }]];
</script>