4
4

1 回答 1

3

It isn't using the taglib.xml for that. It's programmatically registering them via com.sun.faces.facelets.tag.jsf.html.HtmlLibrary in com.sun.faces.application.ApplicationAssociate which is executed during startup. Here are the relevant lines from Mojarra 2.2.1 (copypasted from Grepcode):

954        c.addTagLibrary(new CoreLibrary());
955        c.addTagLibrary(new CoreLibrary(CoreLibrary.XMLNSNamespace));
956        c.addTagLibrary(new HtmlLibrary());
957        c.addTagLibrary(new HtmlLibrary(HtmlLibrary.XMLNSNamespace));
958        c.addTagLibrary(new UILibrary());
959        c.addTagLibrary(new UILibrary(UILibrary.XMLNSNamespace));
960        c.addTagLibrary(new JstlCoreLibrary());
961        c.addTagLibrary(new JstlCoreLibrary(JstlCoreLibrary.IncorrectNamespace));
962        c.addTagLibrary(new JstlCoreLibrary(JstlCoreLibrary.XMLNSNamespace));
963        c.addTagLibrary(new PassThroughAttributeLibrary());
964        c.addTagLibrary(new PassThroughElementLibrary());
965        c.addTagLibrary(new FunctionLibrary(JstlFunction.class, FunctionLibrary.Namespace));
966        c.addTagLibrary(new FunctionLibrary(JstlFunction.class, FunctionLibrary.XMLNSNamespace));
967        if (isDevModeEnabled()) {
968            c.addTagLibrary(new FunctionLibrary(DevTools.class, DevTools.Namespace));
969            c.addTagLibrary(new FunctionLibrary(DevTools.class, DevTools.NewNamespace));
970        }
971        c.addTagLibrary(new CompositeLibrary());
972        c.addTagLibrary(new CompositeLibrary(CompositeLibrary.XMLNSNamespace));
于 2013-09-26T15:25:58.927 回答