org.eclipse.jetty.osgi.boot.jasper
Class WebappRegistrationCustomizerImpl
java.lang.Object
org.eclipse.jetty.osgi.boot.jasper.WebappRegistrationCustomizerImpl
- All Implemented Interfaces:
- WebappRegistrationCustomizer
public class WebappRegistrationCustomizerImpl
- extends Object
- implements WebappRegistrationCustomizer
Fix various shortcomings with the way jasper parses the tld files.
Plugs the JSTL tlds assuming that they are packaged with the bundle that contains the JSTL classes.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WebappRegistrationCustomizerImpl
public WebappRegistrationCustomizerImpl()
getJarsWithTlds
public URL[] getJarsWithTlds(OSGiAppProvider provider,
BundleFileLocatorHelper locatorHelper)
throws Exception
- TODO: right now only the jetty-jsp bundle is scanned for common taglibs. Should support a way to plug more bundles that contain taglibs.
The jasper TldScanner expects a URLClassloader to parse a jar for the /META-INF/*.tld it may contain. We place the bundles that we know contain such
tag-libraries. Please note that it will work if and only if the bundle is a jar (!) Currently we just hardcode the bundle that contains the jstl
implemenation.
A workaround when the tld cannot be parsed with this method is to copy and paste it inside the WEB-INF of the webapplication where it is used.
Support only 2 types of packaging for the bundle: - the bundle is a jar (recommended for runtime.) - the bundle is a folder and contain jars in the root
and/or in the lib folder (nice for PDE developement situations) Unsupported: the bundle is a jar that embeds more jars.
- Specified by:
getJarsWithTlds in interface WebappRegistrationCustomizer
- Returns:
- array of URLs
- Throws:
Exception
Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.