Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > struts-config


Автор: garbuz 6.7.2008, 20:35
Взялся за struts.
Почитал доки. Запустил HelloWorld. Сейчас стараюсь сделать что-нить посложнее, но вот возникли небольшие проблемы. Точнее мне не совсем понятен struts-config.xml т.е. что за что там отвечает. Сейчас я постараюсь расписать ситуацию как я ее понимаю, а Вы, если я ошибусь или что-то упущу, поправьте smile
Итак!

Код

<form-beans>
        <form-bean name="UserForm" type="example.Form.UserForm"/>
    </form-beans>

Этот блок отвечает за объекты форм, наследников объекта ActionForm, которые передаются в приложении, объекты являются носителями данных. Тут вроде все понятно, вопросов нет.

Код

 <global-forwards>
        <forward name="mainpage" path="/index.jsp"/>
    </global-forwards>

Этот блок, как я понимаю, описывает глобальные переходы, ну или как лучше сказать smile Т.е. например при выполнении такого кода
Код

mapping.findForward("mainpage");

Мы перейдем на страницу index.jsp именно благодаря вышеуказанному куску xml-кода.

А вот дальше тут я чтото путаюсь...
Код

<action path="/inputInfo"
                type="example.Action.UserAction"
                name="UserForm"
                validate="true"
                scope="request">
            <forward name="success" path="/success.jsp"/>
        </action>

Как я понял, path отвечает за то, что будет введено в форме в атрибуте action, т.е. наоборот smile
type - класс Action'a.
name - имя формы, которая несет в себе используемую информацию.
validate - вызывать или не вызывать метод validate у формы.
scope - не понятно.
еще видел атрибут input- тоже не понятно совсем, для чего он нужен? Причем input встречал разных видов
Код

input="/search.jsp"

Код

input="customer.page"

Еще не понятен атрибут parameter, для чего он нужет, на что влияет?
Еще не совсем понятен, смысл forward внутри блока action. Почему он там описывается. В чем его локальность? Почему он не описан этот блок в global.
Ну вот, вроде основные моменты перечислил, прошу ответить/исправить, буду оч. благодарен.


ЗЫ. Да, и если я пропустил что-то важное, какой-либо часто используемый или важный блок - укажите smile
Пропустил <data-sources></data-sources>. Для чего он нужен?

Автор: hariton594 7.7.2008, 14:02
Цитата

"customer.page"


это при использовании tiles. Помогает абстрагироваться от путей к web-страницам

Автор: garbuz 7.7.2008, 14:39
hariton594, ясно. А как насчет остального?

Автор: Samotnik 7.7.2008, 15:44
документацию полистай на сайте struts.ru 
вот конкретно про  файл конфига http://www.struts.ru/userGuide/building_controller.html#config

Автор: garbuz 7.7.2008, 15:53
Samotnik, естественно я читал это, но все равно остаются непонятными некоторые моменты. Хочется услышать вразумительный ответ.

Автор: hariton594 7.7.2008, 16:10
Цитата

атрибут input

адрес страницы, из которой вызывается Action

Мне в свою очередь очень помог http://www.roseindia.net/struts/index.shtml - там  подробно расписано применение struts

Автор: garbuz 7.7.2008, 16:18
hariton594, спасибо за ссылку, обязательно посмотрю!

Автор: iluvatar 10.7.2008, 14:33
Вообще насколько помню input для переадресации на страницу если форма не прошла валидацию
Параметром можно определять с какого адреса пришли.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)