用JSP编写:
${a.b.c}
抛出’c’PropertyNotFound,但是写
<s:property value="#a.b.c"/>
工作良好。
如果有人可以解释为什么${a.b.c}不起作用,我将不胜感激。
更新:
在相同的JSP,访问到另一个豆f如${a.f.d}它找到d正确。
f
${a.f.d}
d
我已检查该属性c的${a.b.c}存在。
c
很好的问题。如果您尚未在b中为属性c指定getter设置方法,则Propertynotfound对于
Propertynotfound
但
不会导致错误。区别在于$ {}适用于getter设置程序,因为它是OGNL,它是使用valuestack中的getter设置程序读取的。
只需在b类中编写getter setter。$ {abc}将开始工作。例如,如果c是公共字符串c,
public String getC() { return c; } public void setC(String c) { this.c = c; }