Maybe you are missing a faces-config.xml in the jar inside META-INF. JSF won't scan the jar otherwise. See my post at JSFlive [1] for details.

Best regards
Michi

[1]: http://jsflive.wordpress.com/2011/03/24/custom-component-library/


Am 24.02.2014 13:26, schrieb Johannes Murth:
The output of DOCTYPE was related to another issue:

The XHTML that is embedded with ui:include had this as root element.
ui:composition as root element solved the problem.
- Side question: is this an official change from 2.1 to 2.2?

But there is still the issue that the composite component from the JAR is
not found:

The using page looks like this:

< ....
       xmlns:xma="http://openxma.codehaus.org/xmajsf";
   >
...
     <xma:navbar .. brand="Test" />
     ..
</...>

The component is  in somelib.jar/META-INF/resources/xmajsf/navbar.xhtml and
looks like this

Beside there is a xmajsf.taglib.xml in the root of the same JAR:
<ui:composition xmlns="http://www.w3.org/1999/xhtml";
xmlns:cc="http://java.sun.com/jsf/composite";
     xmlns:ui="http://java.sun.com/jsf/facelets";>
<cc:interface componentType="Navbar">
<cc:attribute name="brand" required="true"/>
</cc:interface>
<cc:implementation>
...
</cc:implementation>
</ui:composition>

Beside there is this content in META-INF\xmajsf.taglib.xml inside the same
JAR:

<facelet-taglib version="2.0" xmlns="http://java.sun.com/xml/ns/javaee";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd";>
  <namespace>http://openxma.codehaus.org/xmajsf</namespace>
  <composite-library-name>xmajsf</composite-library-name>
</facelet-taglib>

What am I doing wrong?



2014-02-14 17:52 GMT+01:00 Michael Kurz <michi.k...@gmx.at>:

Hi,

would be interesting how your composite component looks like (the basic
structure) and how it is embedded in the page.

Best regards
Michi

Am 13.02.2014 13:10, schrieb Johannes Murth:

  Hi! I just upgraded from 2.1 to 2.2 and have rendering problem because xml
doctype and html tag are rendered right before composite component. These
break the layout and should just be swallowed.

Thanks for any advice!



Reply via email to