在JSP中编写: ${a.b.c} 抛出’c’PropertyNotFound,但写作 s:property value="#a.b.c"/ 工作良好. 如果有人能解释为什么${a.b.c}不起作用,我会很感激吗? 更新: 在同一个JSP中,访问另一个bean,例如${a
${a.b.c}
抛出’c’PropertyNotFound,但写作
<s:property value="#a.b.c"/>
工作良好.
如果有人能解释为什么${a.b.c}不起作用,我会很感激吗?
更新:
在同一个JSP中,访问另一个bean,例如${a.f.d},它正确找到了.
我检查过${a.b.c}中的属性c是否存在.
好问题.如果你没有为b中的属性c指定getter setter,那么这个错误将发生Propertynotfound for${a.b.c}
但
<s:property value="#a.b.c"/>
不会导致错误.不同之处在于${}适用于getter setter,因为它是使用来自valuestack的getter setter读取的OGNL.
只需在b类中编写getter setter. ${a.b.c}将开始工作.例如,如果c是public String c那么,
public String getC() { return c; } public void setC(String c) { this.c = c; }