为什么jsp会触发PropertyNotFound?

用JSP编写:

${a.b.c}

抛出’c’PropertyNotFound,但是写

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

工作良好。

如果有人可以解释为什么${a.b.c}不起作用,我将不胜感激。

更新:

在相同的JSP,访问到另一个豆f${a.f.d}它找到d正确。

我已检查该属性c${a.b.c}存在。

回答:

很好的问题。如果您尚未在b中为属性c指定getter设置方法,则Propertynotfound对于

 ${a.b.c}

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

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

只需在b类中编写getter setter。$ {abc}将开始工作。例如,如果c是公共字符串c,

public String getC() {

return c;

}

public void setC(String c) {

this.c = c;

}

以上是 为什么jsp会触发PropertyNotFound? 的全部内容, 来源链接: utcz.com/qa/410913.html

回到顶部