Параметры запроса JSF2 CommandButton Action - PullRequest
0 голосов
/ 12 мая 2011
<h:commandButton value="Add Order"  action="#{orderBasket.addItems(param['orderItemId'])}"/>

Я не могу заставить работать вышеперечисленное ... когда вы нажимаете на кнопку, кажется, что для параметра установлено нулевое значение.Это можно обойти?

Есть ли другой способ передачи параметров URL в метод действия?Я использую средство распознавания Spring EL, которое ограничивает мою способность передавать параметры в bean-компоненты, поскольку я не использую Face-Config.

1 Ответ

2 голосов
/ 12 мая 2011

Во-первых, я думаю, что вы могли бы использовать JSF лучше, многие проблемы были бы намного проще.Похоже, что вы используете JSF в качестве структуры запроса / ответа, как Struts.JSF - это объектно-ориентированная структура компонентов, вы должны использовать ее таким образом, чтобы получить максимальную отдачу.

Я постараюсь решить вашу проблему, но мне не хватает некоторой информации о том, что вы делаете.

Если у вас есть список книг, которые вы можете заказать, скажем, они отображаются в виде данных (вместо этого вы можете использовать ui: repeat):

<h:dataTable value="#{bookController.books}" var="book">

    <h:column>
        <h:outputText value="#{book.title}" />
    </h:column>

    <h:column>
        <h:commandButton value="Add Order" action="#{orderBasket.addItems(book)}" />
    </h:column>

</h:dataTable>

В компоненте orderBasket вы можетепросто возьмите книгу (или что-то еще) в качестве параметра.Вам не нужно обрабатывать цикл запрос / ответ, разумеется, не в ваших представлениях.

Вы можете использовать тег f: ajax, если вам необходимо немедленно отобразить его в корзине.

Дайте мне знать, если вам нужно больше объяснений (поддержка источника бобов или другое).

...