我是 Spring 的新学习者。
- 我对 model.addAttribute 真的很困惑
如何获取所有属性(包括父属性)
下面是我的代码,请参阅此代码:
Controller:
@RequestMapping("/nav/addOrEdit")
public String navAdd(Nav nav,ModelMap model){
if(nav.getId()!=null&&nav.getId()!=0) {
nav=siteService.getNav(nav.getId());
model.addAttribute(nav);
System.out.println("nav.id:"+nav.getId());
}
return "CJ/nav/addOrEdit";
}
Nav:
public class Nav extends PO{
private static final long serialVersionUID = -13569672251584L;
protected String code;
@NotEmpty
protected String name;
public String getCode() { return code; }
public void setCode(String code) { this.code = code; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
PO:
public class PO implements Serializable {
private static final long serialVersionUID = 4572077184754045588L;
protected Long Id;
public Long getId() {return Id;}
public void setId(Long id) {Id = id;}
}
jsp:
console.log("${nav}"); -->Nav{code=1, name=test},
没有id,如何获取父类的属性?
最佳答案
在您的情况下,您将在Map
中添加父类object
。因此,您不能直接访问该对象
,而是将对象直接放入Map
中,使用某个键添加该对象并直接在JSP上访问它。即
model.addAttribute("nav",nav);
More details check Spring Documention of Model interface
现在您可以直接访问您的值。
关于java - spring mvc使用model.addAttribute(nav)无法在jsp中用${nav.id}获取父类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26080860/