Структура приложения JSF - PullRequest
       3

Структура приложения JSF

0 голосов
/ 06 декабря 2011

Я привык работать в Struts Framework. Там все довольно просто. Классы Action используют информацию, полученную из классов Action Form (которая представляла основную сущность в моем проекте), и затем они продолжают свою работу, вызывая различные методы из некоторых классов обслуживания некоторого вида.

Сейчас я пытаюсь изучить JSF, но не могу понять точную логику, которая скрывается за этой структурой. Я перечитал некоторые учебники и следовал некоторым примерам, но все они сосредоточены на жизненном цикле обработки запросов и используют управляемые bean-компоненты и back-bean-компоненты (по одному на каждую страницу), которые обрабатывают проверки, обновления базы данных и так далее. Никакой обработки действий любого рода.

В другом посте я слышал, что Struts - это Action Framework, а JSF - это Component Framework, но мне кажется, что JSF немного более грязный, чем Struts.

Я что-то упускаю во всей этой структуре JSF?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

они используют управляемые bean-компоненты и back-bean-компоненты (по одному на каждую страницу), которые обрабатывают проверки, обновления баз и так далее. Никаких действий не выполняется.

Это те методы, которые связаны как action атрибут <h:commandLink> и <h:commandButton>, которые являются real методами действия.

* 1014 Е.Г. *

<h:form>
    <h:inputText id="foo" value="#{bean.foo}" required="true" />
    <h:message for="foo" />
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

с

@ManagedBean
@RequestScoped
public class Bean {

    private String foo;

    public void submit() {
        // Here, you're inside the action method!
        // Save foo in DB or something: someService.save(foo);
        // Navigate to a different view if necessary.
    }

    // Getter+setter.
}

Обратите внимание, что проверка должна выполняться классами Validator, а не методами действий.

Смотри также:

2 голосов
/ 06 декабря 2011

Вы можете подумать, что JSF более грязный, чем Struts, поскольку вы просто еще не до конца понимаете его внутреннюю работу.

С Struts, платформой, основанной на запросах, вам приходится иметь дело со множеством деталей более низкого уровня самостоятельно.Вы часто обнаруживаете, что отслеживаете параметры запроса и взаимодействуете с объектами HttpServletRequest и HttpServletResponse.

В JSF, основанной на компонентах инфраструктуре, многие детали более низкого уровня были удалены.JSF заботится об этих деталях для вас, загружая ваши bean-компоненты, выполняя проверки и т. Д. Лишь в редких случаях вам потребуется взаимодействовать с объектами запроса / ответа.

Абстрагируя множество деталей Servlet, JSF позволяетВы должны сосредоточиться больше на построении своей модели и действий, а не на деталях запросов.Таким образом, я думаю, что JSF намного чище, чем Struts, а не грязнее.Недостатком этого является то, что у JSF есть достойная кривая обучения.Разработчики, использующие исключительно JSF, также могут не замечать, как на самом деле обрабатываются запросы, что полезно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...