java - spring mvc使用model.addAttribute(nav)无法在jsp中用${nav.id}获取父类的属性

标签 java spring spring-mvc jstl

我是 Spring 的新学习者。

  1. 我对 model.addAttribute 真的很困惑
  2. 如何获取所有属性(包括父属性)

    下面是我的代码,请参阅此代码:

<小时/>
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/

相关文章:

java - Apache 意外暂停发出请求

java - 有没有一种方法可以使用通用代码库在 Java 和 JavaScript 中进行输入验证?

Controller 之间的javafx通信

java - Jsoup:需要帮助从元标记中提取内容值

Java/Spring - 保护参数(路径变量)

java - spring Bean 创建异常 Error creating bean with name

java - 必需的字符串参数不存在 Spring MVC

java - Spring MVC 中索引越界

java - Spring /hibernate : Do you have to load entities to use it after saving?

java - 有人可以查看我的二次方程代码(在 Java 中)吗?