<on-start> Expression </on-start>

时间:2012-03-20 13:43:23

标签: java spring javabeans spring-webflow

我正在学习Spring WebFlow,在我正在研究的示例应用程序中,我显然错过了Spring的一个关键概念。我有以下XML从购物车获取属性 allItems

<on-start>
    <evaluate expression="order.setBooksOrdered(shoppingCart.allItems)" />
</on-start>

但是,我在下面的ShoppingCart类中没有看到该名称的方法或属性。虽然当然有一个 getAllITems() 类。这一切都编译和工作,但我显然在这里错过了一个关键概念。

@Component
@Scope("session")
public class ShoppingCart implements Serializable {
    private List<Book> shopping = new ArrayList<Book>();

    public void addItem(Book newItem) {
        this.shopping.add(newItem);
    }

    public List<Book> getAllItems() {
        return shopping;
    }

    public void clear() {
        this.shopping.clear();
    }
}

有人能指出我对缺少的关键概念的方向吗?

1 个答案:

答案 0 :(得分:1)

看看JavaBean documentation

如果您有一个具有JavaBean属性的JavaBean,则使用方法allItems(在本例中为get<propertyName>)或{{1}访问该属性(在本例中为getAllItems())当属性是布尔值时。该字段的实际名称与JavaBean标准无关。

JavaBean规范还有更多内容。我建议您查看链接的文档。

因此,要访问is<propertyName> bean的allItems属性,您实际上将触发shoppingCart方法。