Мы используем нашивки уже около 4 лет. Наш стек - Stripes / EJB3 / JPA.
Многие используют Stripes плюс Stripernate в качестве единого решения с полным стеком. Мы этого не делаем, потому что хотим, чтобы наша бизнес-логика была на уровне EJB, поэтому мы просто полагаемся на сущности JPA как на комбинированную модель и DTO.
Stripes выполняет привязку к нашим сущностям / DTO, и мы возвращаем их на уровень EJB для работы. Для большинства наших CRUD-программ это очень просто и понятно, благодаря чему наш 80% -й вариант использования тривиален. Тем не менее, у нас есть гибкость, чтобы делать все, что мы хотим, для крайних случаев, которые всегда возникают в сложных приложениях.
У нас есть очень большой базовый компонент Action Bean, который инкапсулирует основную часть наших операций CRUD, которые выполняют обратные вызовы к отдельным подклассам, специфичным для сущностей и форм.
У нас также есть большая внутренняя библиотека файлов тегов для управления нашими страницами, безопасностью, навигацией, задачами и т. Д. Простая форма редактирования CRUD - это чуть больше, чем список имен полей, и мы получаем все chrome, меню и контроль доступа "бесплатно".
Прелесть этого в том, что мы сохраняем метафору на основе HTTP-запросов, которая нам нравится, и мы выбираем отдельные части системы, а не используем один толстый стек. Слой Stripes скудный и злой, и никогда не мешает нам.
У нас есть группа Ajax, интегрирующая YUI и JQuery, и все они безболезненно работают против нашего стрипа и EJB.
Я также портировал более легкую версию стека в GAE для примера проекта, в основном из-за небольшой работы с нашим уровнем EJB. Таким образом, весь стек очень шустрый и может измениться. Полосы - важный фактор этого, так как мы позволяем ему делать несколько вещей, которые он делает, и делает это очень хорошо. Затем делегируйте остальное в другие части стека.
Как всегда, есть части, которые люди иногда предпочитали бы отличать, но, честно говоря, Stripes были бы последней частью в нашем стеке. Может быть лучше поддерживать полный набор глаголов HTTP, но я бы предпочел, чтобы Stripes сделал это лучше, чем переключение на что-то другое.