Wir verwenden Stripes seit ungefähr 4 Jahren. Unser Stack ist Stripes/EJB3/JPA.
Viele verwenden Stripes plus Stripernate als einzelne, vollständige Stack-Lösung. Wir machen das nicht, weil wir unsere Geschäftslogik innerhalb der EJB-Ebene haben wollen. Daher verlassen wir uns einfach auf JPA-Entitäten als kombiniertes Modell und DTO.
Stripes bindet die Bindung an unsere Entitäten/DTO und wir schieben sie zurück in die EJB-Ebene für die Arbeit. Für die meisten unserer CRUD-Sachen ist das eine Sache und unkompliziert, sodass unser 80-prozentiger Anwendungsfall trivial ist. Wir haben jedoch die Flexibilität, für die Randfälle, die immer mit komplizierten Anwendungen aufwarten, alles zu tun, was wir wollen.
Wir haben eine sehr große Basis-Action-Bean, die den Großteil unserer CRUD-Operationen einkapselt, die Rückrufe in die einzelnen Unterklassen der Entitäten und Formulare durchführt.
Wir haben auch eine große interne Tag-Datei-Bibliothek, um unsere Seiten zu verwalten, Sicherheit, Navigation, Aufgaben, usw. Ein einfaches CRUD-Bearbeitungsformular ist wenig mehr als eine Liste von Feldnamen, und wir bekommen alle Chrom und Menüs und Zugangskontrollen "kostenlos".
Das Schöne daran ist, dass wir die HTTP-Anfrage-basierte Metapher, die wir mögen, behalten und wir die einzelnen Teile des Systems wählen, anstatt einen Fat Stack zu verwenden. Die Stripes-Schicht ist mager und gemein und kommt uns nie in die Quere.
Wir haben eine Reihe von Ajax integriert YUI und JQuery, alle arbeiten schmerzlos gegen unsere Stripes und EJB Stack.
Ich portierte auch eine leichtere Version des Stacks zu GAE für ein Beispielprojekt und musste im Grunde nur kleinere Arbeiten an unserer EJB-Ebene durchführen. So ist der gesamte Stack sehr flink und freundlich zu ändern. Stripes ist ein großer Faktor, da wir es die wenigen Dinge tun lassen, die es tut, und es sehr gut macht. Dann delegiere den Rest an andere Teile des Stapels.
Wie immer gibt es Teile, die die Leute lieber mal anders haben würden, aber Stripes wäre der letzte Teil, der in unseren Stapel geht, ehrlich gesagt. Es könnte besser sein, das vollständige HTTP-Verb-Set zu unterstützen, aber ich würde lieber Stripes dazu bringen, das besser zu machen, als auf etwas anderes zu wechseln.
Aktualisiert, um dies als bevorzugte Antwort zu haben, da es aktueller ist als die anderen. –