| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > struts, требуется изменить функционал |
| Автор: iluvatar 18.11.2010, 13:54 |
| Как-то никогда не приходилось лезть в исходники библиотек и писать свой код, но вот пришлось. Есть страница объекта, например "object/%id%". В зависимости от самого объекта требуется генерить различные формы и, возможно, различные экшены. Т.е. по-хорошему надо написать фабрику форм на вход которой идет id объекта. У этих форм будет какой-то общий предок, многие поля будут совпадать, но классы должны быть разными. struts-mapping не позволяет такого сделать (или все-таки я не доглядел?) Сейчас я вижу только такой вариант - отредактировать исходники стратса и создать новую struts-либу. Правильное ли это решение? Не нарушаю ли я этим лицензию? Есть ли другие варианты? Спасибо за умные ответы. |
| Автор: iluvatar 29.11.2010, 17:39 |
| Залез в исходники, посмотрел как работает struts и понял, что менять там что-то еще больший геморр - придется же как-то привязать свою фабрику со стратсом, для этого придется вычленять сущности и добавлять возможность добавления своей фабрики в конфиг. Решил проще - экшен, который обрабатывает адрес "/object/%id%" определяет что это за объект и форвардит на другие экшены "/objectType1/%id%", "/objectType2/%id%", "/objectType3/%id%" и т.д. Эти экшены в конфиге имеют свои формы, а не базовые. Немного разрастается сам конфиг, но это прозрачнее. |