当前位置 : 主页 > 编程语言 > java >

为什么jsp会触发PropertyNotFound?

来源:互联网 收集:自由互联 发布时间:2021-06-25
在JSP中编写: ${a.b.c} 抛出’c’PropertyNotFound,但写作 s:property value="#a.b.c"/ 工作良好. 如果有人能解释为什么${a.b.c}不起作用,我会很感激吗? 更新: 在同一个JSP中,访问另一个bean,例如${a
在JSP中编写:

${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;
}
网友评论