为什么 jsp 会触发 PropertyNotFound?

2024-04-20

在JSP中编写:

${a.b.c} 

抛出“c”PropertyNotFound,但写入

<s:property value="#a.b.c"/> 

工作正常。

如果有人能解释原因,我将不胜感激${a.b.c}不起作用?

更新:

在同一个JSP中,访问另一个beanf例如${a.f.d}它发现d正确。

我已经检查过该属性c in ${a.b.c} exists.


好问题。如果您没有为 b 中的属性 c 指定 getter setter,则会发生此错误Propertynotfound for

 ${a.b.c}

But

  <s:property value="#a.b.c"/> 

不会导致错误。区别在于 ${} 适用于 getter setter,因为它是 OGNL,它使用 valuestack 中的 getter setter 进行读取。

只需在b类中编写getter setter即可。 ${a.b.c} 将开始工作。例如,如果 c 是 public String c 那么,

public String getC() {
    return c;
}
public void setC(String c) {
    this.c = c;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 jsp 会触发 PropertyNotFound? 的相关文章

随机推荐