I'd like to pack up presentation aspects of an application in a modular way; if I have a set of functionality in a separate JAR project, I'd like to keep UI elements related to that aspect separate from the core webapp code.
I think that tag libraries were the way to do this, so a lib could contain a bunch of classes implementing special interfaces and a descriptor. Then, the only footprint that the modular piece has would be one/more tags. Ideally, I'd like to avoid a runtime dependency on some specific modular piece being there... not sure how to achieve that!
Are tag libraries still the way to go? Or are there better options?