выражение - PullRequest
       8

выражение

1 голос
/ 20 марта 2012

Я изучаю 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 Ответ

1 голос
/ 20 марта 2012

Посмотрите документацию по JavaBean .

Если у вас есть JavaBean, у которого есть свойство JavaBean, вы получаете доступ к этому свойству (в данном случае allItems) с помощью метода get<propertyName> (в данном случае getAllItems()) или is<propertyName>, когда свойство имеет логическое значение.Фактическое имя поля не имеет отношения к стандарту JavaBean.

В спецификации JavaBean есть нечто большее, чем просто.Я рекомендую взглянуть на связанную документацию.

Итак, чтобы получить доступ к свойству allItems компонента shoppingCart, вы на самом деле будете вызывать метод getAllItems().

...