我們來了解下使用jsp讀取ModelMap/Model中的數據。
1、ModelMap/Model中存放一個對象Role
Role r = new Role();
r.setRolecode("ADMIN");
r.setRolename("管理者");
r.setRoleid(UniqueSeq.shortUUID());
model.addAttribute("roles", r);
return "zpl/testview/test";
那麼在jsp中我們引用該對象的值應該爲:
<h1>角色信息02</h1>
<div id="roleid">${roles.getRoleid()}</div>
<div id="roldcode">${roles.getRolecode()}</div>
<div id="rolename">${roles.getRolename()}</div>
2、ModelMap/Model中存放一個對象使用addAttribute(object o)
Role r = new Role();
r.setRolecode("ADMIN");
r.setRolename("管理者");
r.setRoleid(UniqueSeq.shortUUID());
// model.addAttribute("roles", r);
// 我們如果使用ReturnMsg返回一個json字符串,那麼就沒辦法顯示到jsp頁面使用${}.
ReturnMsg msg = new ReturnMsg();
msg.getDatatable().put("roles", r);
model.addAttribute(r);
model.addAttribute("你好");
return return2page(response, msg, "zpl/testview/test");
在jsp中值爲:
<h1>角色信息02</h1>
<div id="roleid">${role.getRoleid()}</div>
<div id="roldcode">${role.getRolecode()}</div>
<div id="rolename">${role.getRolename()}</div>
3、在ModelMap/Model中存放一個list對象時,
List<Role> list=new ArrayList<Role>();
Role r = new Role();
r.setRolecode("ADMIN");
r.setRolename("管理者");
r.setRoleid(UniqueSeq.shortUUID());
Role r1 = new Role();
r1.setRolecode("user");
r1.setRolename("使用者");
r1.setRoleid(UniqueSeq.shortUUID());
list.add(r1);
list.add(r);
// model.addAttribute("roles", r);
// 我們如果使用ReturnMsg返回一個json字符串,那麼就沒辦法顯示到jsp頁面使用${}.
ReturnMsg msg = new ReturnMsg();
msg.getDatatable().put("roles", r);
model.addAttribute(list);
/**
* 下面這種model中的可以值爲string,但是後面的會覆蓋前面的
*/
model.addAttribute("你好");
model.addAttribute("你buhao好");
return return2page(response, msg, "zpl/testview/test");
在jsp中我們獲取方式:
<h1>角色信息03</h1>
<div id="roleid">${roleList.get(1).getRoleid()}</div>
<div id="roldcode">${roleList.get(1).getRolecode()}</div>
<div id="rolename">${roleList.get(1).getRolename()}</div>
<div id="str">${string}</div>
還有一種就是使用<c:forEach>標籤
其實我們上述方法主要是看我們的數據在ModelMap/Model中存放的key值,使用${key.}獲取到我們想要的數據
如圖: